{\rtf1\ansi \deff4\deflang1033{\fonttbl{\f0\froman\fcharset0\fprq2 Tms Rmn{\*\falt Times New Roman};}{\f1\froman\fcharset2\fprq2 Symbol;}{\f2\fswiss\fcharset0\fprq2 Helv;}{\f3\fmodern\fcharset0\fprq1 Courier;}
{\f4\froman\fcharset0\fprq2 Times New Roman;}{\f5\fswiss\fcharset0\fprq2 Arial;}{\f6\froman\fcharset0\fprq2 MS Serif;}{\f7\fswiss\fcharset0\fprq2 MS Sans Serif;}{\f8\froman\fcharset0\fprq2 Times;}{\f9\fswiss\fcharset0\fprq2 Helvetica;}
{\f10\fswiss\fcharset0\fprq2 System;}{\f11\fmodern\fcharset0\fprq1 Courier New;}{\f12\froman\fcharset0\fprq2 New York;}{\f13\fswiss\fcharset0\fprq2 Geneva;}{\f14\froman\fcharset0\fprq2 CG Times;}{\f15\fswiss\fcharset0\fprq2 Univers;}
{\f16\fswiss\fcharset0\fprq2 Univers Condensed;}{\f17\fswiss\fcharset0\fprq2 Antique Olive;}{\f18\fswiss\fcharset0\fprq2 Albertus Medium;}{\f19\fswiss\fcharset0\fprq2 Albertus Extra Bold;}{\f20\fmodern\fcharset0\fprq1 Letter Gothic;}
{\f21\fnil\fcharset2\fprq2 Wingdings;}{\f22\fnil\fcharset2\fprq2 Marlett;}{\f23\fswiss\fcharset0\fprq2 Arial Gras;}{\f24\fswiss\fcharset0\fprq2 Arial Gras Italique;}{\f25\fswiss\fcharset0\fprq2 Arial Italique;}
{\f26\fmodern\fcharset0\fprq1 Courier New Gras;}{\f27\fmodern\fcharset0\fprq1 Courier New Gras Italique;}{\f28\fmodern\fcharset0\fprq1 Courier New Italique;}{\f29\fmodern\fcharset0\fprq1 Lucida Console;}{\f30\fswiss\fcharset0\fprq2 Lucida Sans Unicode;}
{\f31\froman\fcharset0\fprq2 Times New Roman Gras;}{\f32\froman\fcharset0\fprq2 Times New Roman Gras Italique;}{\f33\froman\fcharset0\fprq2 Times New Roman Italique;}{\f34\fnil\fcharset2\fprq2 KivunPi;}{\f35\fmodern\fcharset0\fprq1 APLHELP;}
{\f36\fmodern\fcharset2\fprq1 APLPLUS;}{\f37\fmodern\fcharset2\fprq1 APLPLUSI;}{\f38\fnil\fcharset0\fprq2 Architect;}{\f39\fswiss\fcharset0\fprq2 Arial Rounded MT Bold;}{\f40\fswiss\fcharset0\fprq2 AvantGarde Bk BT;}
{\f41\fswiss\fcharset0\fprq2 AvantGarde Md BT;}{\f42\fnil\fcharset0\fprq2 AvantGarde-Thin;}{\f43\fnil\fcharset0\fprq2 barcod39;}{\f44\fnil\fcharset0\fprq2 Bodoni;}{\f45\fnil\fcharset0\fprq2 Bodoni-Normal;}{\f46\fnil\fcharset0\fprq2 Bodoni-Normal-Light;}
{\f47\fnil\fcharset0\fprq2 Bodoni-DTC;}{\f48\fswiss\fcharset0\fprq2 Britannic Bold;}{\f49\fscript\fcharset0\fprq2 Brush Script MT;}{\f50\fdecor\fcharset0\fprq2 Business/Industrial;}{\f51\fnil\fcharset0\fprq2 CarrDingbats1;}
{\f52\fnil\fcharset2\fprq2 CarrDingbats2;}{\f53\fnil\fcharset2\fprq2 CarrElectricDingbats;}{\f54\fnil\fcharset2\fprq2 CarrKeys;}{\f55\fnil\fcharset2\fprq2 Carta-Normal;}{\f56\fnil\fcharset2\fprq2 Carta-Thin;}
{\f57\fnil\fcharset0\fprq2 Century-Schoolbook-Bold;}{\f58\fnil\fcharset2\fprq2 Circuits;}{\f59\fnil\fcharset0\fprq2 Cooper;}{\f60\fnil\fcharset0\fprq2 Crillee;}{\f61\fnil\fcharset0\fprq2 CursiveElegant;}{\f62\fnil\fcharset0\fprq2 digelec-Thin;}
{\f63\fnil\fcharset2\fprq2 dingbats-Thin;}{\f64\fnil\fcharset0\fprq2 Dom Casual;}{\f65\fnil\fcharset0\fprq2 Fleurons;}{\f66\fdecor\fcharset0\fprq2 FOOD!;}{\f67\fswiss\fcharset0\fprq2 Franklin Gothic;}{\f68\fnil\fcharset0\fprq2 Franklin Cond. Gothic;}
{\f69\fswiss\fcharset0\fprq2 Futura;}{\f70\fswiss\fcharset0\fprq2 Garrison Cond. Sans;}{\f71\fswiss\fcharset0\fprq2 Garrison ExtraBold Sans;}{\f72\fswiss\fcharset0\fprq2 Garrison Light Sans;}{\f73\fswiss\fcharset0\fprq2 Garrison Sans;}
{\f74\fnil\fcharset0\fprq2 Geometrix;}{\f75\froman\fcharset0\fprq2 Goudy Old Style;}{\f76\fnil\fcharset0\fprq2 Goudy-Normal;}{\f77\fnil\fcharset0\fprq2 IBM PC MED winansi;}{\f78\fnil\fcharset2\fprq2 Inter;}{\f79\fnil\fcharset2\fprq2 International;}
{\f80\fnil\fcharset0\fprq2 LetterGothic;}{\f81\fnil\fcharset0\fprq2 Linoscript-Light;}{\f82\fnil\fcharset2\fprq2 MiniPics;}{\f83\fnil\fcharset0\fprq2 Mono-Bold-Bold;}{\f84\fnil\fcharset0\fprq2 Monotony;}{\f85\fmodern\fcharset2\fprq1 MS LineDraw;}
{\f86\fnil\fcharset0\fprq2 Neuvarese-BoldItalic;}{\f87\fswiss\fcharset0\fprq2 Nova;}{\f88\fnil\fcharset0\fprq2 Optimum;}{\f89\fnil\fcharset0\fprq2 Phonetic;}{\f90\fnil\fcharset0\fprq2 Recycle;}{\f91\fdecor\fcharset0\fprq2 Sports and Hobbies;}
{\f92\fnil\fcharset0\fprq2 Univers-Black-Thin;}{\f93\fnil\fcharset0\fprq2 UniversityRoman;}{\f94\fnil\fcharset0\fprq2 Univers-Light-Light;}{\f95\froman\fcharset0\fprq2 Village Square;}{\f96\fnil\fcharset0\fprq2 Vinera;}
{\f97\fdecor\fcharset0\fprq2 Windsor;}{\f98\fdecor\fcharset0\fprq2 Windsor Condensed;}{\f99\fswiss\fcharset2\fprq2 CommonBullets;}{\f100\fnil\fcharset0\fprq2 Klinzhai;}{\f101\froman\fcharset0\fprq2 OldEnglish;}{\f102\fnil\fcharset2\fprq2 SILDoulosIPA;}
{\f103\fnil\fcharset2\fprq2 SILManuscriptIPA;}{\f104\fnil\fcharset2\fprq2 SILSophiaIPA;}{\f105\fnil\fcharset0\fprq2 Romulus;}{\f106\fnil\fcharset0\fprq2 Safari;}{\f107\fswiss\fcharset0\fprq2 Verdana;}{\f108\fmodern\fcharset2\fprq1 FigurineCrrCB;}
{\f109\froman\fcharset2\fprq2 FigurineTmsCB;}{\f110\fscript\fcharset0\fprq2 Comic Sans MS;}{\f111\fnil\fcharset0\fprq2 AmericanTypewriter-Light;}{\f112\fnil\fcharset0\fprq2 Amelia-Normal;}{\f113\fnil\fcharset0\fprq2 Amelia;}
{\f114\fnil\fcharset0\fprq2 AndesitePlain;}{\f115\fnil\fcharset2\fprq2 Animals;}{\f116\fnil\fcharset0\fprq2 Ann;}{\f117\fnil\fcharset0\fprq2 Antique-Olive-Bold;}{\f118\fnil\fcharset0\fprq2 Antique-Olive;}{\f119\fnil\fcharset0\fprq2 Antique;}
{\f120\fdecor\fcharset0\fprq2 Athletes;}{\f121\fnil\fcharset0\fprq2 BalletEngraved;}{\f122\fnil\fcharset0\fprq2 Banff-Normal;}{\f123\fnil\fcharset0\fprq2 Baskerville-Normal;}{\f124\fnil\fcharset0\fprq2 Baskerville-Bold;}
{\f125\fnil\fcharset0\fprq2 Benguiat-Light;}{\f126\fnil\fcharset0\fprq2 Benguiat-Bold;}{\f127\froman\fcharset0\fprq2 Berns;}{\f128\fnil\fcharset0\fprq2 BIGCSHAD-Normal;}{\f129\fnil\fcharset0\fprq2 Bodoni-Normal-Italic;}
{\f130\fnil\fcharset0\fprq2 Bodoni-Bold;}{\f131\fnil\fcharset0\fprq2 BoldfaceItalic-SemiBold-Italic;}{\f132\fnil\fcharset0\fprq2 Book Jacket;}{\f133\fnil\fcharset0\fprq2 Borzoi;}{\f134\fnil\fcharset0\fprq2 Brassfield;}
{\f135\fnil\fcharset0\fprq2 Broadway;}{\f136\fswiss\fcharset0\fprq2 Brock;}{\f137\fnil\fcharset0\fprq2 Caligula;}{\f138\fnil\fcharset0\fprq2 Caslon-Light;}{\f139\fnil\fcharset0\fprq2 Caslon-Bold;}{\f140\fnil\fcharset0\fprq2 CASLONOPENFACE-Thin;}
{\f141\fnil\fcharset0\fprq2 Cassandra;}{\f142\fnil\fcharset0\fprq2 Castiglione;}{\f143\fnil\fcharset0\fprq2 Century-Schoolbook-Bold-Italic;}{\f144\fnil\fcharset0\fprq2 Century-Schoolbook-Normal;}{\f145\fnil\fcharset0\fprq2 Century-Schoolbook;}
{\f146\fnil\fcharset0\fprq2 CenturyOldStyle-Light;}{\f147\fnil\fcharset0\fprq2 CenturySchoolbook-Thin;}{\f148\fnil\fcharset0\fprq2 Champagne;}{\f149\fnil\fcharset0\fprq2 ChiliPepper-ExtraBold;}{\f150\fnil\fcharset0\fprq2 Courier Thin;}
{\f151\fnil\fcharset0\fprq2 Courier-Oblique;}{\f152\fnil\fcharset0\fprq2 Delegate-Normal;}{\f153\fnil\fcharset0\fprq2 Diego1-Light;}{\f154\fnil\fcharset0\fprq2 Dubiel (Plain):001.001;}{\f155\fnil\fcharset0\fprq2 ElGarrett;}
{\f156\fnil\fcharset0\fprq2 Eras;}{\f157\fnil\fcharset0\fprq2 Eurotype;}{\f158\fnil\fcharset0\fprq2 Fusion Light;}{\f159\fnil\fcharset0\fprq2 Geo;}{\f160\fnil\fcharset0\fprq2 Mac Characters;}{\f161\fnil\fcharset0\fprq2 Parisian;}
{\f162\fdecor\fcharset0\fprq2 PCOrnaments;}{\f163\fnil\fcharset0\fprq2 Pixel_Screen_Font-Light;}{\f164\fnil\fcharset0\fprq2 PixelScreen;}{\f165\fnil\fcharset0\fprq2 Pixie;}{\f166\fnil\fcharset0\fprq2 RRKeyCaps-Normal;}
{\f167\fnil\fcharset0\fprq2 RRKeyLettersLimited-Normal;}{\f168\fnil\fcharset0\fprq2 RSTimesMirror;}{\f169\fnil\fcharset0\fprq2 RSUpperEastSide;}{\f170\fnil\fcharset0\fprq2 SansSerif;}{\f171\fnil\fcharset0\fprq2 SlantInformal;}
{\f172\fnil\fcharset0\fprq2 Smiley;}{\f173\fnil\fcharset0\fprq2 UniversityRoman-Thin;}{\f174\froman\fcharset0\fprq2 Book Antiqua;}{\f175\fswiss\fcharset0\fprq2 Arial Narrow;}{\f176\froman\fcharset0\fprq2 Bookman Old Style;}
{\f177\fswiss\fcharset0\fprq2 Century Gothic;}{\f178\fscript\fcharset0\fprq2 Monotype Corsiva;}{\f179\froman\fcharset0\fprq2 Century Schoolbook;}{\f180\fswiss\fcharset0\fprq2 Arial Black;}{\f181\fnil\fcharset2\fprq2 Monotype Sorts;}
{\f182\fswiss\fcharset0\fprq2 Haettenschweiler;}{\f183\froman\fcharset0\fprq2 Garamond;}{\f184\froman\fcharset255\fprq2 Roman;}{\f185\fscript\fcharset255\fprq2 Script;}{\f186\fmodern\fcharset255\fprq2 Modern;}{\f187\fswiss\fcharset0\fprq1 MS Dialog;}
{\f188\froman\fcharset0\fprq0 Times-Roman;}{\f189\fmodern\fcharset0\fprq0 Courier-Bold;}{\f190\froman\fcharset0\fprq0 Times-Bold;}{\f191\froman\fcharset0\fprq0 Times-Italic;}{\f192\fswiss\fcharset0\fprq0  ;}{\f193\froman\fcharset0\fprq0 isupper;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar \f4\fs20\lang1036 \snext0 Normal;}{\s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \sbasedon0\snext0 heading 2;}{
\s3\sb240\sa60\keepn\widctlpar \f5\lang1036 \sbasedon0\snext0 heading 3;}{\*\cs10 \additive Default Paragraph Font;}{\s15\sb360\widctlpar\tqr\tx9072 \b\caps\f5\lang1036 \sbasedon0\snext0 toc 1;}{\s16\sb120\widctlpar\tqr\tx9072 \b\f4\fs20\lang1036 
\sbasedon0\snext0 toc 2;}{\s17\li200\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 3;}{\s18\li400\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 4;}{\s19\li600\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 5;}{
\s20\li800\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 6;}{\s21\li1000\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 7;}{\s22\li1200\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 8;}{
\s23\li1400\widctlpar\tqr\tx9072 \f4\fs20\lang1036 \sbasedon0\snext0 toc 9;}{\s24\widctlpar \f4\fs20\lang1036 \sbasedon0\snext24 footnote text;}{\*\cs25 \additive\super \sbasedon10 footnote reference;}{\s26\fi-200\li200\widctlpar\tqr\tldot\tx4176 
\f4\fs20\lang1036 \sbasedon0\snext0 index 1;}{\s27\fi-200\li400\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 2;}{\s28\fi-200\li600\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 3;}{
\s29\fi-200\li800\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 4;}{\s30\fi-200\li1000\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 5;}{\s31\fi-200\li1200\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 
\sbasedon0\snext0 index 6;}{\s32\fi-200\li1400\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 7;}{\s33\fi-200\li1600\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 8;}{
\s34\fi-200\li1800\widctlpar\tqr\tldot\tx4176 \f4\fs20\lang1036 \sbasedon0\snext0 index 9;}{\s35\widctlpar \f4\fs20\lang1036 \sbasedon0\snext26 index heading;}}{\*\revtbl {Unknown;}}{\info{\title fabs}{\author jacob navia}{\operator jacob navia}
{\creatim\yr1998\mo12\dy28\min50}{\revtim\yr1998\mo12\dy30\hr16\min32}{\version5}{\edmins24}{\nofpages242}{\nofwords29627}{\nofchars168877}{\*\company logiciels/informatique}{\vern57431}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417 
\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\hyphcaps0\formshade \fet0\sectd \linex0\headery709\footery709\colsx709\endnhere {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain 
\s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669758}abs{\*\bkmkend _Toc439669758}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\fs24 Synopsis
\par }\pard \widctlpar {\b\f26\fs24 #include <stdlib.h>
\par int abs(int j);}{\b\fs24 
\par }\pard \widctlpar {\b\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 abs}{\f188\fs24 , function computes the absolute value of an integer }{\b\f189\fs24 j}{\f188\fs24 .If the result cannot be represented, the behavior is undefined.}{\cs25\f188\fs24\super \chftn 
{\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 The absolute value of the most negative number cannot be represented in two\rquote s complement.}}}{\f188\fs24 
\par }\pard \widctlpar {\b\fs24 Returns\~:}{\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 Returns the absolute value
\par }{\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdlib.h>
\par void main(void)
\par \{
\par \tab int i = -4;
\par 
\par \tab printf("The absolute value of %d is %d\\n",i,abs(i));
\par \}
\par The absolute value of -4 is 4
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669759}access{\f190\fs26 {\*\bkmkend _Toc439669759}
\par }\pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int _access(const char *path,int mode)\~;
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 access }{\fs24 function, when used with files, determines whether the specified file exists and can be accessed as specified by the value of }{\i\fs24 mode}{\fs24 . When used with directories, }{\b\fs24 
_access}{\fs24  determines only whether the specified directory exists; since under Windows all directories have read and write access.
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 mode}{\fs24  argument can be one of\~:
\par }\pard \widctlpar {\fs24 00\tab Existence only
\par 02 \tab Write permission
\par 04\tab Read permission
\par }\pard \qj\sa120\widctlpar {\fs24 06\tab Read and write permission
\par }\pard \qj\widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 Zero if the file has the given mode, -1 if an error occurs.
\par }\pard \widctlpar {\f11 
\par }\pard \widctlpar {\b\fs24 Portability\~:
\par }{\fs24 Windows. Under Unix a similar function exists too.
\par }\pard \widctlpar {\fs24 Note that lcc-win32 accepts both }{\b\fs24 _access}{\fs24  (Microsoft convention) and }{\b\fs24 access}{\fs24 .}{\b\fs24 
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669760}acos{\f190\fs26 {\*\bkmkend _Toc439669760}
\par }\pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double acos(double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 acos }{\f188\fs24 functions compute the principal value of the arc cosine of }{\b\f189\fs24 x}{\f188\fs24 . A domain error occurs for arguments not in the range [\'ad1, +1].
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 acos }{\f188\fs24 functions return the arc cosine in the range [0, }{\f1\fs22 p}{\f188\fs24 ] radians.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669761}asctime{\*\bkmkend _Toc439669761}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par char *asctime(const struct tm *timeptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 asctime }{\f188\fs24 function converts the broken-down time in the structure pointed to by }{\b\f189\fs24 timeptr }{\f188\fs24 into a string in the form
\par }\pard \widctlpar {\b\f189\fs24 Sun Sep 16 01:03:52 1973\\n\\0
\par }{\f188\fs24 using the equivalent of the following algorithm.
\par }\pard \widctlpar {\f11 char *asctime(const struct tm *timeptr)
\par \{
\par }\pard \fi708\widctlpar {\f11 static const char wday_name[7][3] = \{
\par "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
\par \};
\par static const char mon_name[12][3] = \{
\par "Jan", "Feb", "Mar", "Apr", "May", "Jun",
\par "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
\par \};
\par static char result[26];
\par sprintf(result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\\n",
\par }\pard \fi708\li708\widctlpar {\f11 wday_name[timeptr->tm_wday],
\par mon_name[timeptr->tm_mon],
\par timeptr->tm_mday, timeptr->tm_hour,
\par timeptr->tm_min, timeptr->tm_sec,
\par 1900 + timeptr->tm_year);
\par }\pard \li708\widctlpar {\f11 return result;
\par }\pard \widctlpar {\f11 \}
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 asctime }{\f188\fs24 function returns a pointer to the string.
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par #include <time.h>
\par 
\par void main(void)
\par \{
\par \tab struct tm *newtime;
\par \tab time_t ltime;
\par 
\par \tab /* Get the time in seconds */
\par \tab time (&ltime);
\par \tab /* convert it to the structure tm */
\par \tab newtime = localtime(&ltime);
\par \tab /* print the local time as a string */
\par \tab printf("The current time and dat are %s", asctime(newtime));
\par \}
\par The current time and dat are Mon Dec 28 12:33:50 1998
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669762}asin{\*\bkmkend _Toc439669762}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double asin(double x);
\par float asinf(float x);
\par long double asinl(long double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 asin }{\f188\fs24 functions compute the principal value of the arc sine of }{\b\f189\fs24 x}{\f188\fs24 . A domain error occurs for arguments not in the range [\'ad1, +1].
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 asin }{\f188\fs24 functions return the arc sine in the range [\'ad }{\f1\fs22 p}{\f188\fs24 /2, + }{\f1\fs22 p}{\f188\fs24 /2] radians.
\par }\pard \widctlpar {\b\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par #include <stdlib.h>
\par #include <math.h>
\par #define MAX 1.0
\par #define MIN -1.0
\par void main(void)
\par \{
\par \tab double x,y;
\par 
\par \tab printf("Enter x\\n");
\par \tab scanf("%lf", &x);
\par \tab /* Output error if not in range */
\par \tab if (x > MAX) \{
\par \tab \tab printf("Error: %lf too large for asin\\n",x);
\par \tab \}
\par \tab else if (x < MIN) \{
\par \tab \tab printf("Error: %lf is too small for asin\\n",x);
\par \tab \}
\par \tab else \{
\par \tab \tab y = asin(x);
\par \tab \tab printf("asin ( %lf ) = %lf\\n",x,y);
\par \tab \}
\par \}
\par D:\\lcc\\examples>asin
\par Enter x
\par 0.765
\par asin ( 0.765000 ) = 0.871041
\par 
\par D:\\lcc\\examples>asin
\par Enter x
\par 5.9
\par Error: 5.900000 too large for asin
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669763}assert{\*\bkmkend _Toc439669763}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <assert.h>
\par void assert(_Bool expression);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 assert }{\f188\fs24 macro puts diagnostic tests into programs. When it is executed, if }{\b\f189\fs24 expression }{\f188\fs24 is false (that is, compares equal to 0), the }{\b\f189\fs24 assert }{
\f188\fs24 macro writes information about the particular call that failed (including the text of the argument, the name of the source file, the source
 line number, and the name of the enclosing function  the latter are respectively the values of the preprocessing macros }{\b\f189\fs24 __FILE__ }{\f188\fs24 and }{\b\f189\fs24 __LINE__ }{\f188\fs24 and of the identifier }{\b\f189\fs24 __func__}{
\f188\fs24 ) on the standard error file in an implementation-defined format.}{\f188\fs18  }{\f188\fs24 It then calls the }{\b\f189\fs24 abort }{\f188\fs24 function.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 assert }{\f188\fs24 macro returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669764}atexit{\*\bkmkend _Toc439669764}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int atexit(void (*func)(void));
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 atexit }{\f188\fs24 function registers the function pointed to by }{\b\f189\fs24 func}{\f188\fs24 , to be called without
\par }\pard \widctlpar {\f188\fs24 arguments at normal program termination.
\par }{\b\f190\fs24 Environmental limits
\par }{\f188\fs24 The implementation shall support the registration of at least 32 functions.
\par }{\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 atexit }{\f188\fs24 function returns zero if the registration succeeds, nonzero if it fails.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdlib.h>
\par #include <stdio.h>
\par void goodbye(void)
\par \{
\par \tab printf("Goodbye\\n");
\par \}
\par void main(void)
\par \{
\par \tab int rc = atexit(goodbye);
\par 
\par \tab if (rc != 0) \{
\par \tab \tab printf("error setting at exit function\\n");
\par \tab \}
\par \tab exit(0);
\par \}
\par }\pard \widctlpar {\fs24 When run, this program produces the following output\~:
\par }\pard \widctlpar {\f11 Goodbye
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669765}atof{\*\bkmkend _Toc439669765}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par double atof(const char *nptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 atof }{\f188\fs24 function converts the initial portion of the string pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 double }{\f188\fs24 
representation. Except for the behavior on error, it is equivalent to }{\b\f189\fs24 strtod(nptr, (char **)NULL)
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 atof }{\f188\fs24 function returns the converted value.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdlib.h>
\par void main(void)
\par \{
\par \tab char *s;
\par 
\par \tab s = "-2309.12E-5";
\par \tab printf("%15.13g\\n",atof(s));
\par \}
\par D:\\lcc\\examples>atof
\par      -0.0230912
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669766}atoi{\*\bkmkend _Toc439669766}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int atoi(const char *nptr);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 2 The }{\b\f189\fs24 atoi}{\f188\fs24 , function converts the initial portion of the string pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 int}{\f188\fs24  representation.
\par }\pard \widctlpar {\f188\fs24 
\par Except for the behavior on error, it is are equivalent to
\par }{\b\f189\fs24 
\par atoi: (int)strtol(nptr, (char **)NULL, 10)
\par }{\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 atoi }{\f188\fs24 function returns the converted value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669767}atol{\*\bkmkend _Toc439669767}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par long int atol(const char *nptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 atol }{\f188\fs24 function converts the initial portion of the string pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 long int }{\f188\fs24 representation.
\par }\pard \widctlpar {\f188\fs24 
\par Except for the behavior on error, they are equivalent to
\par }{\b\f189\fs24 atol: strtol(nptr, (char **)NULL, 10)
\par }{\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 atol }{\f188\fs24 function returns the converted value.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669768}beginthread{\*\bkmkend _Toc439669768}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <process.h>
\par }\pard \widctlpar {\b\f189\fs24 unsigned long _beginthread(void(*start_address)(void *), unsigned stack_size,void *arglist)\~;
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 _beginthread }{\f188\fs24 function creates a new thread of execution that begins at the }{\i\f188\fs24 start_address}{\f188\fs24 
 parameter. This routine should have no return value. When it exists, the thread is terminated. The arglist parameter is the argument of this function. It can be NULL.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 To end the thread call endthread. In any case this is not necessary if the called function just exits.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f190\fs24 
If successfull, this function returns the handle of the newly created thread. If an error occurs the return value is -1, in which case errno is set to EAGAIN if there are too many threads running, or to EINVAL if the argument is invalid.
\par }\pard \widctlpar {\f190\fs24 
\par }{\b\f190\fs24 Portability
\par }{\f190\fs24 Windows}{\b\f190\fs24 
\par }{\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669769}bsearch{\*\bkmkend _Toc439669769}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 void *bsearch(const void *key, const void *base,size_t nmemb, size_t size,int (*compar)(const void *, const void *));
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 bsearch }{\f188\fs24 function searches an array of }{\b\f189\fs24 nmemb }{\f188\fs24 objects, the initial element of which is pointed to by }{\b\f189\fs24 base}{\f188\fs24 
, for an element that matches the object pointed to by }{\b\f189\fs24 key}{\f188\fs24 . The size of each element of the array is specified by }{\b\f189\fs24 size}{\f188\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 The comparison function pointed to by }{\b\f189\fs24 compar }{\f188\fs24 is called with two arguments that point to the }{\b\f189\fs24 key }{\f188\fs24 
object and to an array element, in that order. The function shall return an integer less than, equal to, or greater than zero if the }{\b\f189\fs24 key }{\f188\fs24 object is considered, respectiv
ely, to be less than, to match, or to be greater than the array element. The array shall consist of: all the elements that compare less than, all the elements that compare equal to, and all the elements that compare greater than the }{\b\f189\fs24 key }{
\f188\fs24 object, in that order.}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 In practice, the entire array is sorted according to the comparison function.}}}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 bsearch }{\f188\fs24 function returns a pointer to a matching element of the array, or a null pointer if no match is found. If two elements compare as equal, which element is matched is unspecified.

\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669770}cabs{\*\bkmkend _Toc439669770}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double cabs(struct complex n);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 cabs }{\f188\fs24 function calculates the absolute value of the given complex number}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 cabs }{\f188\fs24 function returns the absolute value of its complex argument.
\par }\pard \qj\widctlpar {\f188\fs24 
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669771}calloc{\*\bkmkend _Toc439669771}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void *calloc(size_t nmemb, size_t size);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 calloc }{\f188\fs24 function allocates space for an array of }{\b\f189\fs24 nmemb }{\f188\fs24 objects, each of whose size is }{\b\f189\fs24 size}{\f188\fs24 . The space is initialized to all bits zero.}
{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 Note that this need not be the same as the representation of floating-point zero or a null pointer constant in other environments as windows}}}{
\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 calloc }{\f188\fs24 function returns either a null pointer or a pointer to the allocated space.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669772}ceil{\*\bkmkend _Toc439669772}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double ceil(double x);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 ceil }{\f188\fs24 functions compute the smallest integer value not less than }{\b\f189\fs24 x}{\f188\fs24 : }{\f1\fs24 \'e9 }{\b\f189\fs24 x }{\f1\fs24 \'f9 }{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ceil }{\f188\fs24 functions return the smallest integer value not less than }{\b\f189\fs24 x}{\f188\fs24 , expressed as a floating-point number.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <math.h>
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    double y;
\par 
\par    y = floor( 2.644 );
\par    printf( "The floor of 2.644 is %f\\n", y );
\par    y = floor( -2.644 );
\par    printf( "The floor of -2.644 is %f\\n", y );
\par 
\par    y = ceil( 2.955 );
\par    printf( "The ceil of 2.955 is %f\\n", y );
\par    y = ceil( -2.955 );
\par    printf( "The ceil of -2.955 is %f\\n", y );
\par \}
\par The floor of 2.644 is 2.000000
\par The floor of -2.644 is -3.000000
\par The ceil of 2.955 is 3.000000
\par The ceil of -2.955 is -2.000000
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669773}chdir{\*\bkmkend _Toc439669773}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }{\b\f190\fs24 int _chdir(const char *dirname)\~;
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 chdir }{\f188\fs24 function changes the current directory to the specified one, that must exist.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 chdir }{\f188\fs24 function returns 0 if successful, -1 otherwise
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Portability\~:}{\f188\fs24 
\par Windows
\par Note that lcc-win32 accepts both _chdir and chdir.
\par 
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669774}clearerr{\*\bkmkend _Toc439669774}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par void clearerr(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 clearerr }{\f188\fs24 function clears the end-of-file and error indicators for the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 clearerr }{\f188\fs24 function returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669775}clock{\*\bkmkend _Toc439669775}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par clock_t clock(void);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 clock }{\f188\fs24 function determines the processor time used.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 clock }{\f188\fs24 function returns the implementation\rquote s best approximation to the processor time used by the program since the b
eginning of an implementation-defined era related only to the program invocation. To determine the time in seconds, the value returned by the }{\b\f189\fs24 clock }{\f188\fs24 function should be divided by the value of the macro }{\b\f189\fs24 
CLOCKS_PER_SEC}{\cs25\b\f189\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } This is defined as 1000 in lcc-win32}}{\f188\fs24 
.If the processor time used is not available or its value cannot be represented, the function returns the value }{\b\f189\fs24 (clock_t)-1}{\f188\fs24 .
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <time.h>
\par #include <stdio.h>
\par #include <windows.h> // For the Sleep function
\par void main(void)
\par \{
\par \tab double timedif;
\par \tab double time1 = (double)clock();
\par \tab time1 = time1/(double)CLOCKS_PER_SEC;
\par \tab Sleep(1500);
\par \tab timedif = (((double)clock()) / (double)CLOCKS_PER_SEC) - time1;
\par \tab printf("The elapsed time is %f seconds\\n",timedif);
\par \}
\par D:\\lcc\\examples>clock
\par The elapsed time is 1.502000 seconds
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669776}copysign{\*\bkmkend _Toc439669776}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double copysign(double x, double y);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 copysign }{\f188\fs24 function produces a value with the magnitude of }{\b\f189\fs24 x }{\f188\fs24 and the sign of }{\b\f189\fs24 y}{\f188\fs24 . They produce a NaN (with the sign of }{\b\f189\fs24 y}{
\f188\fs24 ) if }{\b\f189\fs24 x}{\f188\fs24 is a NaN. On implementations that represent a signed zero but do not treat negative zero consistently in arithmetic operations, the }{\b\f189\fs24 copysign }{\f188\fs24 
functions regard the sign of zero as positive.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 copysign }{\f188\fs24 functions return a value with the magnitude of }{\b\f189\fs24 x }{\f188\fs24 and the sign of }{\b\f189\fs24 y}{\f188\fs24 .
\par }\pard \widctlpar {\b\f188\fs24 
\par Example\~:
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par #include <math.h>
\par void main(void)
\par \{
\par \tab double value = 45.98;
\par \tab double sign = -10.0;
\par 
\par \tab printf("The sign of %g times the magnitude of %g is %g\\n", sign, 
\par }\pard \fi708\li708\widctlpar {\f11 value, copysign(value,-1.0));
\par }\pard \widctlpar {\f11 \}
\par 
\par The sign of -10 times the magnitude of 45.98 is -45.98
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669777}cos{\*\bkmkend _Toc439669777}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double cos(double x);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 cos }{\f188\fs24 function computes the cosine of }{\b\f189\fs24 x }{\f188\fs24 (measured in radians).
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 cos }{\f188\fs24 function returns the cosine value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669778}cosh{\*\bkmkend _Toc439669778}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double cosh(double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 cosh }{\f188\fs24 functions compute the hyperbolic cosine of }{\b\f189\fs24 x}{\f188\fs24 . A range error occurs if the magnitude of }{\b\f189\fs24 x }{\f188\fs24 is too large.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 cosh }{\f188\fs24 functions return the hyperbolic cosine value.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f0\fs24 
\par }{\f11 #include <math.h>}{\f0\fs24 
\par }{\f11 #include <stdio.h>}{\f0\fs24 
\par 
\par }{\f11 void main( void )}{\f0\fs24 
\par }{\f11 \{}{\f0\fs24 
\par }{\f11    double pi = 3.1415926535;}{\f0\fs24 
\par }{\f11    double x, y;}{\f0\fs24 
\par 
\par }{\f11    x = pi / 2;}{\f0\fs24 
\par }{\f11    y = sin( x );}{\f0\fs24 
\par }{\f11    printf( "sin( %f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11    y = sinh( x );}{\f0\fs24 
\par }{\f11    printf( "sinh( %f ) = %f\\n",x, y );}{\f0\fs24 
\par }{\f11    y = cos( x );}{\f0\fs24 
\par }{\f11    printf( "cos( %f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11    y = cosh( x );}{\f0\fs24 
\par }{\f11    printf( "cosh( %f ) = %f\\n",x, y );}{\f0\fs24 
\par }{\f11 \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669779}cputs{\*\bkmkend _Toc439669779}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <conio.h>
\par int cputs(char *string);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 cputs }{\f188\fs24 function prints the given character string at the console. The string should be zero terminated.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 If successful, returns zero.. If an error occurs it returns -1
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f0\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669780}ctime{\*\bkmkend _Toc439669780}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par char *ctime(const time_t *timer);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 ctime }{\f188\fs24 function converts the calendar time pointed to by }{\b\f189\fs24 timer }{\f188\fs24 to local time in the
\par }\pard \widctlpar {\f188\fs24 form of a string. It is equivalent to
\par }{\b\f189\fs24 asctime(localtime(timer))
\par }{\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ctime }{\f188\fs24 function returns the pointer returned by the }{\b\f189\fs24 asctime }{\f188\fs24 function with that broken-down time as argument.
\par }\pard \widctlpar {\b\f188\fs24 
\par Example\~:
\par }\pard \widctlpar {\f11 #include <time.h>
\par #include <stdio.h>
\par void main(void)
\par \{
\par \tab time_t ltime;
\par 
\par \tab time(&ltime);
\par \tab printf("The time now is %s",ctime(&ltime));
\par \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669781}cwait{\*\bkmkend _Toc439669781}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <process.h>
\par int _cwait(int *termstat,int procHandle,int action);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 cwait }{\fs24 function waits for the termination of the process ID of the specified process that is provided by }{\i\fs24 procHandle}{\fs24 . The value of }{\i\fs24 procHandle}{\fs24  passed to }{\b\fs24 
_cwait}{\fs24  should be the value returned by the call to the }{\b\fs24 _spawn}{\fs24  function that created the specified process. If the process ID terminates before }{\b\fs24 _cwait}{\fs24  is called, }{\b\fs24 _cwait}{\fs24  returns immediately. }{
\b\fs24 _cwait}{\fs24  can be used by any process to wait for any other known process for which a valid handle (}{\i\fs24 procHandle}{\fs24 ) exists.
\par }\pard \qj\sa120\widctlpar {\i\fs24 termstat }{\fs24 points to a buffer where the return code of the specified process will be stored. The value of }{\i\fs24 termstat}{\fs24  indicates whether the specified process terminated \'93normally\'94
 by calling the Windows NT }{\b\fs24 ExitProcess}{\fs24  API. }{\b\fs24 ExitProcess}{\fs24  is called internally if the specified process calls }{\b\fs24 exit}{\fs24  or }{\b\fs24 _exit}{\fs24 , returns from }{\b\fs24 main}{\fs24 , or reaches the end of }
{\b\fs24 main}{\fs24 .. If }{\b\fs24 _cwait}{\fs24  is called with a NULL value for }{\i\fs24 termstat}{\fs24 , the return code of the specified process will not be stored. 
\par }\pard \qj\widctlpar {\fs24 The }{\i\fs24 action}{\fs24  parameter is ignored
\par 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\fs24 When the specified process has \'93successfully\'94 completed, }{\b\fs24 _cwait}{\fs24  returns the handle of the specified process and sets }{\i\fs24 termstat}{\fs24 
 to the result code returned by the specified process. Otherwise, }{\b\fs24 _cwait}{\fs24  returns \endash 1
\par }\pard \qj\widctlpar {\fs24 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows
\par Note that lcc-win32 accepts _cwait (Microsoft convention) and cwait..
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669782}difftime{\*\bkmkend _Toc439669782}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par double difftime(time_t time1, time_t time0);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 difftime }{\f188\fs24 function computes the difference between two calendar times: }{\b\f189\fs24 time1 -time0}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 difftime }{\f188\fs24 function returns the difference expressed in seconds as a }{\b\f189\fs24 double}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <time.h>
\par #include <stdio.h>
\par #define RUNS 1000
\par #define SIZE 10000
\par 
\par int mark[SIZE];
\par 
\par void main (void)
\par \{
\par \tab time_t start,finish;
\par \tab int i,loop,n,num;
\par 
\par \tab time(&start);
\par 
\par \tab /* This loop find the prime numbers between 2 and SIZE */
\par \tab for (loop=0; loop<RUNS;++loop) \{
\par \tab \tab for (n=0; n<SIZE;n++) \{
\par \tab \tab \tab /* This loop marks all the composite numbers with -1 */
\par \tab \tab \tab for (num=0,n=2;n<SIZE;n++) \{
\par \tab \tab \tab \tab if (!mark[n]) \{
\par \tab \tab \tab \tab \tab for (i=2*n;i<SIZE;i+=n) \{
\par \tab \tab \tab \tab \tab \tab mark[i] = -1;
\par \tab \tab \tab \tab \tab \}
\par \tab \tab \tab \tab \}
\par \tab \tab \tab \tab num++;
\par \tab \tab \tab \}
\par \tab \tab \}
\par \tab \}
\par \tab time(&finish);
\par \tab printf("\\nProgram takes")\~;
\par \tab printf(" an average of %f seconds to find %d primes\\n",
\par \tab \tab difftime(finish,start)/RUNS,num);
\par \}
\par D:\\lcc\\examples>lcc difftime.c
\par D:\\lcc\\examples>lcclnk difftime.obj
\par D:\\lcc\\examples>difftime
\par 
\par Program takes an average of 0.002000 seconds to find 9998 primes
\par D:\\lcc\\examples>lcc -O difftime.c
\par D:\\lcc\\examples>lcclnk difftime.obj
\par D:\\lcc\\examples>difftime
\par 
\par Program takes an average of 0.001000 seconds to find 9998 primes
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669783}div{\*\bkmkend _Toc439669783}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par div_t div(int numer, int denom);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 div}{\f188\fs24 , }{\b\f189\fs24 ldiv}{\f188\fs24 , and }{\b\f189\fs24 lldiv}{\f188\fs24 , functions compute }{\b\f189\fs24 numer / denom }{\f188\fs24 and }{\b\f189\fs24 numer %
\par denom }{\f188\fs24 in a single operation.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 div }{\f188\fs24 functions return a structure of type }{\b\f189\fs24 div_t}{\f188\fs24 , }{\b\f189\fs24 ldiv_t}{\f188\fs24 
 comprising both the quotient and the remainder. The structures shall contain (in either order) the members }{\b\f189\fs24 quot }{\f188\fs24 (the quotient) and }{\b\f189\fs24 rem }{\f188\fs24 
(the remainder), each of which have the same type as the arguments }{\b\f189\fs24 numer }{\f188\fs24 and }{\b\f189\fs24 denom}{\f188\fs24 .If either part of the result cannot be represented, the behavior is undefined.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669784}dup  dup2{\*\bkmkend _Toc439669784}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int dup(int handle);
\par int dup2(int handle1,int handle2)\~;
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _dup}{\fs24  and }{\b\fs24 _dup2}{\fs24  functions associate a second file handle with a currently open file. These functions can be used to associate a predefined file handle, such as that for }{\b\fs24 
stdout}{\fs24 , with a different file. Operations on the file can be carried out using either file handle. The type of access allowed for the file is unaffected by the creation of a new handle. }{\b\fs24 _dup}{\fs24  returns the next available file ha
ndle for the given file.}{\b\fs24 _dup2}{\fs24  forces }{\i\fs24 handle2}{\fs24  to refer to the same file as }{\i\fs24 handle1}{\fs24 . If }{\i\fs24 handle2}{\fs24  is associated with an open file at the time of the call, that file is closed.
\par }\pard \qj\sa120\widctlpar {\fs24 Both }{\b\fs24 _dup}{\fs24  and }{\b\fs24 _dup2}{\fs24  accept file handles as parameters. To pass a stream }{\b\fs24 (FILE}{\fs24  }{\b\fs24 *)}{\fs24  to either of these functions, use }{\b\fs24 _fileno}{\fs24 . The }{
\b\fs24 fileno}{\fs24  routine returns the file handle currently associated with the given stream. The following example shows how to associate }{\b\fs24 stderr}{\fs24  (defined as }{\b\fs24 FILE}{\fs24  }{\b\fs24 *}{\fs24  in STDIO.H) with a handle:

\par }\pard \sl-120\slmult0\widctlpar {\f192\fs2   c}{\f11 cstderr = _dup( _fileno( stderr ));}{\f192\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 _dup returns the new file handle, _dup2 returns zero to indicate success. Otherwise it returns -1.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\b0\i0\f188 \page }{\*\bkmkstart _Toc439669785}ecvt{\*\bkmkend _Toc439669785}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par char *_ecvt(double value,int count,int *dec,int *sign);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 converts a floating-point number to a character string. The }{\i\fs24 value}{\fs24  parameter is the floating-point number to be converted. This function stores up to }{\i\fs24 count}{\fs24  digits of }{\i\fs24 
value}{\fs24  as a string and appends a null character If the number of digits in }{\i\fs24 value}{\fs24  exceeds }{\i\fs24 count,}{\fs24  the low-order digit is rounded. If there are fewer than }{\i\fs24 count}{\fs24 
 digits, the string is padded with zeros.
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 Only digits are stored in the string. The position of the decimal point and the sign of }{\i\fs24 value}{\fs24  can be obtained from }{\i\fs24 dec}{\fs24  and }{\i\fs24 sign}{\fs24  after the call. The }{\i\fs24 dec
}{\fs24  parameter points to an integer value giving the position of the decimal point with respect to the beginning of the string. A 0 or negative integer value indicates that the decimal point lies to the left of the first digit. The }{\i\fs24 sign}{
\fs24  parameter points to an integer that indicates the sign of the converted number. If the integer value is 0, the number is positive. Otherwise, the number is negative.
\par }\pard \qj\ri240\sa120\widctlpar {\b\fs24 _ecvt}{\fs24  and }{\b\fs24 _fcvt}{\fs24  use a single statically allocated buffer for the conversion. Each call to one of these routines destroys the result of the previous call.
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows / Unix
\par }\pard \widctlpar {\b\f190\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669786}endthread{\*\bkmkend _Toc439669786}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <process.h>
\par void enthread(void)\~;
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 endthread }{\f188\fs24 function  terminates the currently running thread.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }{\f188\fs24 This function returns no value.
\par }{\b\f188\fs24 
\par Portability\~:
\par }{\f188\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669787}eof{\*\bkmkend _Toc439669787}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f188\fs24 Synopsis\~:
\par }\pard \widctlpar {\f26\fs24 #include <io.h>
\par int eof(int handle)\~;
\par 
\par }\pard \widctlpar {\b\fs24 Description\~:
\par }\pard \widctlpar {\f188\fs24 This function tests whether the file represented by its }{\i\f188\fs24 handle}{\f188\fs24  argument has reached the end of the file or not.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Returns\~:
\par }\pard \widctlpar {\f188\fs24 Returns 0 if the end of file hasn\rquote t been reached, 1 if the }{\i\f188\fs24 handle}{\f188\fs24  is at EOF, -1 if there is an error.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Portability
\par }\pard \widctlpar {\f188\fs24 Windows. Under Unix a similar function exists for the TCL library, but not for the C library.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669788}errno{\*\bkmkend _Toc439669788}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f188\fs24 Synopsis\~:
\par }\pard \widctlpar {\f26\fs24 extern int errno\~;
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Description\~:
\par }\pard \qj\sa120\widctlpar {\b\fs24 errno}{\fs24  is set on an error in a system-level call. Because }{\b\fs24 errno}{\fs24  holds the value for the last call that set it, this value may be changed by succeeding calls. Always check }{\b\fs24 errno}{\fs24 
 immediately before and after a call that may set it. All }{\b\fs24 errno}{\fs24  values, defined as manifest constants in ERRNO.H, are UNIX-compatible. The values valid for 32-bit Windows applications are a subset of these UNIX values. 
\par }\pard \qj\sa120\widctlpar {\fs24 On an error, }{\b\fs24 errno}{\fs24  is not necessarily set to the same value as the error code returned by a system call. For I/O operations only, use }{\b\fs24 _doserrno}{\fs24 
 to access the operating-system error-code equivalents of }{\b\fs24 errno}{\fs24  codes. For other operations the value of }{\b\fs24 _doserrno}{\fs24  is undefined.
\par Each }{\b\fs24 errno}{\fs24  value is associated with an error message that can be printed using }{\b\fs24 perror}{\fs24  or stored in a string using }{\b\fs24 strerror}{\fs24 . }{\b\fs24 perror}{\fs24  and }{\b\fs24 strerror}{\fs24  use the }{\b\fs24 
_sys_errlist}{\fs24  array and }{\b\fs24 _sys_nerr}{\fs24 , the number of elements in }{\b\fs24 _sys_errlist}{\fs24 , to process error information.
\par }\trowd \trgaph70\trbrdrt\brdrs\brdrw30 \trbrdrl\brdrs\brdrw30 \trbrdrb\brdrs\brdrw30 \trbrdrr\brdrs\brdrw30 \trbrdrh\brdrs\brdrw15 \trbrdrv\brdrs\brdrw15 \clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw30 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw15 
\cellx2268\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw15 \cellx6804\clbrdrt\brdrs\brdrw30 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw30 \cellx8505 \pard \widctlpar\intbl {\b\fs24 Name
\cell }\pard \widctlpar\intbl {\b\fs24 String value\cell }\pard \widctlpar\intbl {\b\fs24 Numerical value\cell }\pard \widctlpar\intbl {\b\fs24 \row }\trowd \trgaph70\trbrdrt\brdrs\brdrw30 \trbrdrl\brdrs\brdrw30 \trbrdrb\brdrs\brdrw30 \trbrdrr
\brdrs\brdrw30 \trbrdrh\brdrs\brdrw15 \trbrdrv\brdrs\brdrw15 \clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw30 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw15 \cellx2268\clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw15 
\cellx6804\clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw15 \clbrdrr\brdrs\brdrw30 \cellx8505 \pard \widctlpar\intbl {\b\fs24 E2BIG}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Argument list too long\cell }\pard \widctlpar\intbl {\fs24 7
\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EACCES}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Permission denied\cell }\pard \widctlpar\intbl {\fs24 13\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {
\b\fs24 EAGAIN}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 No more processes or not enough memory or maximum nesting level reached\cell }\pard \widctlpar\intbl {\fs24 11\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EBADF}{
\fs24 \cell }\pard \widctlpar\intbl {\fs24 Bad file number\cell }\pard \widctlpar\intbl {\fs24 9\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 ECHILD}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 No spawned processes\cell }\pard 
\widctlpar\intbl {\fs24 10\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EDEADLOCK}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Resource deadlock would occur\cell }\pard \widctlpar\intbl {\fs24 36\cell }\pard \widctlpar\intbl {
\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EDOM}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Math argument\cell }\pard \widctlpar\intbl {\fs24 33\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EEXIST}{\fs24 \cell }\pard 
\widctlpar\intbl {\fs24 File exists\cell }\pard \widctlpar\intbl {\fs24 17\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EINVAL}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Invalid argument\cell }\pard \widctlpar\intbl {\fs24 22
\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 EMFILE}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Too many open files\cell }\pard \widctlpar\intbl {\fs24 24\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {
\b\fs24 ENOENT}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 No such file or directory\cell }\pard \widctlpar\intbl {\fs24 2\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 ENOEXEC}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 
Exec format error\cell }\pard \widctlpar\intbl {\fs24 8\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 ENOMEM}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Not enough memory\cell }\pard \widctlpar\intbl {\fs24 12\cell }\pard 
\widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 ENOSPC}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 No space left on device\cell }\pard \widctlpar\intbl {\fs24 28\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar\intbl {\b\fs24 
ERANGE}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Result too large\cell }\pard \widctlpar\intbl {\fs24 34\cell }\pard \widctlpar\intbl {\fs24 \row }\trowd \trgaph70\trbrdrt\brdrs\brdrw30 \trbrdrl\brdrs\brdrw30 \trbrdrb\brdrs\brdrw30 \trbrdrr
\brdrs\brdrw30 \trbrdrh\brdrs\brdrw15 \trbrdrv\brdrs\brdrw15 \clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw30 \clbrdrb\brdrs\brdrw30 \clbrdrr\brdrs\brdrw15 \cellx2268\clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw30 \clbrdrr\brdrs\brdrw15 
\cellx6804\clbrdrt\brdrs\brdrw15 \clbrdrl\brdrs\brdrw15 \clbrdrb\brdrs\brdrw30 \clbrdrr\brdrs\brdrw30 \cellx8505 \pard \widctlpar\intbl {\b\fs24 EXDEV}{\fs24 \cell }\pard \widctlpar\intbl {\fs24 Cross-device link\cell }\pard \widctlpar\intbl {\fs24 18
\cell }\pard \widctlpar\intbl {\fs24 \row }\pard \widctlpar {\f5\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669789}exit{\*\bkmkend _Toc439669789}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void exit(int status);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 exit }{\f188\fs24 function causes normal program termination to occur. If more than one call to the }{\b\f189\fs24 exit }{\f188\fs24 function is executed by a program, the behavior is undefined.
\par }\pard \qj\widctlpar {\f188\fs24 First, all functions registered by the }{\b\f189\fs24 atexit }{\f188\fs24 function are called, in the reverse order of their registration.}{\f188\fs18 237)
\par }{\f188\fs24 Next, all open streams with unwritten buffered data are flushed, all open streams are closed, and all files created by the }{\b\f189\fs24 tmpfile }{\f188\fs24 function are removed.
\par }\pard \qj\widctlpar {\f188\fs24 Finally, control is returned to the host environment. If the value of }{\b\f189\fs24 status }{\f188\fs24 is zero or }{\b\f189\fs24 EXIT_SUCCESS}{\f188\fs24 , an implementation-defined form of the status }{\i\f191\fs24 
successful termination }{\f188\fs24 is returned.}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } The value of the argument to exit is returned by lcc-win32\rquote 
s runtime to the command shell or the operating system.}}{\f188\fs24  If the value of }{\b\f189\fs24 status }{\f188\fs24 is }{\b\f189\fs24 EXIT_FAILURE}{\f188\fs24 , an implementation-defined form of the status }{\i\f191\fs24 unsuccessful termination }{
\f188\fs24 is returned. Otherwise the status returned is implementation - defined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 exit }{\f188\fs24 function cannot return to its caller.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669790}exp{\*\bkmkend _Toc439669790}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double exp(double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 exp }{\f188\fs24 function computes the base-}{\i\f191\fs24 e }{\f188\fs24 exponential of }{\b\f189\fs24 x}{\f188\fs24 : }{\i\f191\fs24 e }{\b\f189\fs16 x }{\f188\fs24 
. A range error occurs if the magnitude of }{\b\f189\fs24 x }{\f188\fs24 is too large.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 exp }{\f188\fs24 function returns the exponential value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669791}expand{\*\bkmkend _Toc439669791}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f188\fs24 Synopsis
\par }\pard \widctlpar {\f26\fs24 void *_expand(void *memoryblock,size_t newsize)\~;}{\b\f188\fs24 
\par }\pard \widctlpar {\b\f188\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _expand}{\fs24  function changes the size of a previously allocated memory block by trying to expand or contract the block without moving its location in the heap. The }{\i\fs24 memblock}{\fs24 
 parameter points to the beginning of the block. The }{\i\fs24 size}{\fs24  parameter gives the new size of the block, in bytes. The contents of the block are unchanged up to the shorter of the new and old sizes. If you like risky things, }{\i\fs24 
memblock}{\fs24  can also point to a block that has been freed, as long as there has been no intervening call to }{\b\fs24 calloc}{\fs24 , }{\b\fs24 _expand}{\fs24 , }{\b\fs24 malloc}{\fs24 , or }{\b\fs24 realloc}{\fs24 . If }{\i\fs24 memblock}{\fs24 
 points to a freed block, the block remains free after a call to }{\b\fs24 _expand}{\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 A pointer to the expanded memory block (that should be the same as its }{\i\f188\fs24 memoryblock }{\f188\fs24 argument since }{\b\f188\fs24 _expand}{\f188\fs24  doesn\rquote 
t move its argument) or NULL if there is not enough memory to change the size of the block without moving it.
\par }\pard \widctlpar {\b\f188\fs24 
\par Portability
\par }\pard \widctlpar {\f188\fs24 Windows
\par }\pard \widctlpar {\b \page 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669792}fabs{\*\bkmkend _Toc439669792}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double fabs(double x);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 fabs }{\f188\fs24 functions compute the absolute value of a floating-point number }{\b\f189\fs24 x}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }{\fs24 The }{\f189\fs24 fabs }{\fs24 functions return the absolute value of }{\f189\fs24 x}{\fs24 .
\par }\pard \widctlpar {\b\fs24 
\par Example\~:
\par }\pard \widctlpar {\f3 
\par /* ABS.C: This program computes and displays the absolute values of several
\par  * numbers, using fabs, labs and abs
\par  */
\par #include  <stdio.h>
\par #include  <math.h>
\par #include  <stdlib.h>
\par 
\par void main( void )
\par \{
\par    int    ix = -5, iy;
\par    long   lx = -62458L, ly;
\par    double dx = -4.966321, dy;
\par 
\par    iy = abs( ix );
\par    printf( "The absolute value of %d is %d\\n", ix, iy);
\par 
\par    ly = labs( lx );
\par    printf( "The absolute value of %ld is %ld\\n", lx, ly);
\par 
\par    dy = fabs( dx );
\par    printf( "The absolute value of %f is %f\\n", dx, dy );
\par \}
\par }{\f3\fs24 
\par }\pard \widctlpar {\b\fs24 Output\~:
\par }\pard \widctlpar {\f3 The absolute value of -5 is 5
\par The absolute value of -62458 is 62458
\par The absolute value of -4.966321 is 4.966321
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f3 \page }{\*\bkmkstart _Toc439669793}fclose{\*\bkmkend _Toc439669793}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fclose(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fclose }{\f188\fs24 function causes the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
to be flushed and the associated file to be closed. Any unwritten buffered data for the stream are delivered to the host environ
ment to be written to the file; any unread buffered data are discarded. The stream is disassociated from the file. If the associated buffer was automatically allocated, it is deallocated.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fclose }{\f188\fs24 function returns zero if the stream was successfully closed, or }{\b\f189\fs24 EOF }{\f188\fs24 if any errors were detected.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669794}feof{\*\bkmkend _Toc439669794}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int feof(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 feof }{\f188\fs24 function tests the end-of-file indicator for the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 feof }{\f188\fs24 function returns nonzero if and only if the end-of-file indicator is set for }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669795}ferror{\*\bkmkend _Toc439669795}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int ferror(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 ferror }{\f188\fs24 function tests the error indicator for the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 ferror }{\f188\fs24 function returns nonzero if and only if the error indicator is set for }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669796}fflush{\*\bkmkend _Toc439669796}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fflush(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 stream }{\f188\fs24 points to an output stream or an update stream in which the most recent operation was not input, the }{\b\f189\fs24 fflush }{\f188\fs24 function cause
s any unwritten data for that stream to be delivered to the host environment to be written to the file; otherwise, the behavior is undefined.
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 stream }{\f188\fs24 is a null pointer, the }{\b\f189\fs24 fflush }{\f188\fs24 function performs this flushing action on all streams for which the behavior is defined above.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fflush }{\f188\fs24 function sets the error indicator for the stream and returns }{\b\f189\fs24 EOF }{\f188\fs24 if a write error occurs, otherwise it returns zero.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par #include <conio.h>
\par 
\par void main( void )
\par \{
\par    int integer;
\par    char string[81];
\par 
\par    /* Read each word as a string. */
\par    printf( "Enter a sentence of 3 words with scanf: " );
\par    for( integer = 0; integer < 3; integer++ )
\par    \{
\par       scanf( "%s", string );
\par       printf( "%s\\n", string );
\par    \}
\par 
\par    /* You must flush the input buffer before using gets. */
\par    fflush( stdin );
\par    printf( "Enter the same sentence with gets: " );
\par    gets( string );
\par    printf( "%s\\n", string );
\par \}
\par Enter a sentence of 3 words with scanf: hello my world
\par hello
\par my
\par world
\par Enter the same sentence with gets: hello my world
\par hello my world
\par }\pard \widctlpar {\f3 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669797}fgetc{\*\bkmkend _Toc439669797}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fgetc(FILE *stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 If a next character is present from the input stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 , the }{\b\f189\fs24 fgetc }{\f188\fs24 function obtains that character as an }{\b\f189\fs24 unsigned char }{\f188\fs24 
converted to an }{\b\f189\fs24 int }{\f188\fs24 and advances the associated file position indicator for the stream (if defined).
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fgetc }{\f188\fs24 function returns the next character from the input stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 . If the stream is at end-of-file, the end-of-file indicator for the stream is
 set and }{\b\f189\fs24 fgetc }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 . If a read error occurs, the error indicator for the stream is set and }{\b\f189\fs24 fgetc }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 . 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669798}fgetpos{\*\bkmkend _Toc439669798}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fgetpos(FILE * restrict stream, fpos_t * restrict pos);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fgetpos }{\f188\fs24 function stores the current values of the parse state (if any) and file position indicator for the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
in the object pointed to by }{\b\f189\fs24 pos}{\f188\fs24 .
\par The values stored contain unspecified information usable by the }{\b\f189\fs24 fsetpos }{\f188\fs24 function for repositioning the stream to its position at the time of the call to the }{\b\f189\fs24 fgetpos }{\f188\fs24 function. 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If successful, the }{\b\f189\fs24 fgetpos }{\f188\fs24 function returns zero; on failure, the }{\b\f189\fs24 fgetpos }{\f188\fs24 function returns nonzero and stores an implementation-defined positive value in }{
\b\f189\fs24 errno}{\f188\fs24 . For lcc-win32, this values are\~:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 EBADF\tab Bad file handle
\par {\pntext\pard\plain\f1 \'b7\tab}EINVAL The pos value is invalid
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669799}fgets{\*\bkmkend _Toc439669799}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par char *fgets(char * restrict s, int n,FILE * restrict stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fgets }{\f188\fs24 function reads at most one less than the number of characters specified by }{\b\f189\fs24 n }{\f188\fs24 from the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
into the array pointed to by }{\b\f189\fs24 s}{\f188\fs24 . No additional characters are read after a new-line character (which is retained) or after end-of-file. A null character is written immediately after the last character read into the array.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fgets }{\f188\fs24 function returns }{\b\f189\fs24 s }{\f188\fs24 
if successful. If end-of-file is encountered and no characters have been read into the array, the contents of the array remain unchanged and a null pointer is returned. If a read error occurs during the operatio
n, the array contents are indeterminate and a null pointer is returned.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669800}findclose{\*\bkmkend _Toc439669800}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int findclose(long handle);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 _findclose }{\f188\fs24 function closes the given find handle and releases the associated resources.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 0 if successful, -1 otherwise.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669801}findfirst{\*\bkmkend _Toc439669801}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par long _findfirst(char *filespec, struct _finddata_t *fileinfo);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 _findfirst }{\f188\fs24 function returns a unique search handle identifying the file (or group of files) matching the specificati
on indicated by the filespec argument. This handle can be used in a later call to its related function }{\b\f188\fs24 _findnext}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }{\f190\fs24 The findfile handle if sucessfull, or -1 on failure.}{\b\f190\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669802}findnext{\*\bkmkend _Toc439669802}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int findnext(long handle, struct _finddata_t *fileinfo);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 _findnext }{\f188\fs24 
function find the next file that correspond to the specifications that were passed for the handle handle to find first. The data for the name of the file is returned in the cname member of the _finddata_t structure.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If successful, returns 0.Else, the result is -1
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669803}fmod{\*\bkmkend _Toc439669803}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double fmod(double x, double y);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 fmod }{\f188\fs24 functions compute the floating-point remainder of }{\b\f189\fs24 x }{\f188\fs24 / }{\b\f189\fs24 y}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fmod }{\f188\fs24 functions return the value }{\b\f189\fs24 x }{\f1\fs24 - }{\i\f191\fs24 n}{\b\f189\fs24 y}{\f188\fs24 , for some integer }{\i\f191\fs24 n }{\f188\fs24 such that, if }{\b\f189\fs24 y }{
\f188\fs24 is nonzero, the result has the same sign as }{\b\f189\fs24 x }{\f188\fs24 and magnitude less than the magnitude of }{\b\f189\fs24 y}{\f188\fs24 . If }{\b\f189\fs24 y }{\f188\fs24 is zero, whether a domain error occurs or the }{\b\f189\fs24 
fmod }{\f188\fs24 functions return zero is implementation-defined.
\par }\pard \qj\widctlpar {\f188\fs24 
\par Under lcc-win32 the result is  a quiet NAN.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f3 
\par }\pard \widctlpar {\f3 \page 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669804}floor{\*\bkmkend _Toc439669804}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double floor(double x);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 floor }{\f188\fs24 functions compute the largest integer value not greater than }{\b\f189\fs24 x}{\f188\fs24 : }{\f1\fs24 \'eb }{\b\f189\fs24 x }{\f1\fs24 \'fb }{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 floor }{\f188\fs24 functions return the largest integer value not greater than }{\b\f189\fs24 x}{\f188\fs24 , expressed as a floating-point number.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <math.h>
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    double y;
\par 
\par    y = floor( 2.644 );
\par    printf( "The floor of 2.644 is %f\\n", y );
\par    y = floor( -2.644 );
\par    printf( "The floor of -2.644 is %f\\n", y );
\par 
\par    y = ceil( 2.955 );
\par    printf( "The ceil of 2.955 is %f\\n", y );
\par    y = ceil( -2.955 );
\par    printf( "The ceil of -2.955 is %f\\n", y );
\par \}
\par The floor of 2.644 is 2.000000
\par The floor of -2.644 is -3.000000
\par The ceil of 2.955 is 3.000000
\par The ceil of -2.955 is -2.000000
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669805}fopen{\*\bkmkend _Toc439669805}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par FILE *fopen(const char * filename,const char * mode);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fopen }{\f188\fs24 function opens the file whose name is the string pointed to by }{\b\f189\fs24 filename}{\f188\fs24 , and associates a stream with it. The argument }{\b\f189\fs24 mode }{\f188\fs24 
points to a string. If the string is one of the following, the file is open in the indicated mode. Otherwise, the behavior is  undefined.}{\f11  
\par }\pard \li1134\widctlpar {\b\f189\fs24 r }{\f188\fs24 open text file for reading
\par }{\b\f189\fs24 w }{\f188\fs24 truncate to zero length or create text file for writing
\par }{\b\f189\fs24 a }{\f188\fs24 append; open or create text file for writing at end-of-file
\par }{\b\f189\fs24 rb }{\f188\fs24 open binary file for reading
\par }{\b\f189\fs24 wb }{\f188\fs24 truncate to zero length or create binary file for writing
\par }{\b\f189\fs24 ab }{\f188\fs24 append; open or create binary file for writing at end-of-file
\par }{\b\f189\fs24 r+ }{\f188\fs24 open text file for update (reading and writing)
\par }{\b\f189\fs24 w+ }{\f188\fs24 truncate to zero length or create text file for update
\par }{\b\f189\fs24 a+ }{\f188\fs24 append; open or create text file for update, writing at end-of-file
\par }{\b\f189\fs24 r+b }{\i\f191\fs24 or }{\b\f189\fs24 rb+ }{\f188\fs24 open binary file for update (reading and writing)
\par }{\b\f189\fs24 w+b }{\i\f191\fs24 or }{\b\f189\fs24 wb+ }{\f188\fs24 truncate to zero length or create binary file for update
\par }\pard \li1134\widctlpar {\b\f189\fs24 a+b }{\i\f191\fs24 or }{\b\f189\fs24 ab+ }{\f188\fs24 append; open or create binary file for update, writing at end-of-file
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 Opening a file with read mode (}{\b\f189\fs24 \rquote r\rquote  }{\f188\fs24 as the first character in the }{\b\f189\fs24 mode }{\f188\fs24 argument) fails if the file does not exist or cannot be read. 
\par }\pard \qj\widctlpar {\f188\fs24 Opening a file with append mode (}{\b\f189\fs24 \rquote a\rquote  }{\f188\fs24 as the first character in the }{\b\f189\fs24 mode }{\f188\fs24 
argument) causes all subsequent writes to the file to be forced to the then current end-of-file, regardless of intervening calls to the }{\b\f189\fs24 fseek }{\f188\fs24 function. In some implementations, opening a binary file with append mode (}{
\b\f189\fs24 \rquote b\rquote  }{\f188\fs24 as the second or third character in the above list of }{\b\f189\fs24 mode }{\f188\fs24 
argument values) may initially position the file position indicator for the stream beyond the last data written, because of null character padding. When a file is opened with update mode (}{\b\f189\fs24 \rquote +\rquote  }{\f188\fs24 as the s
econd or third character in the above list of }{\b\f189\fs24 mode }{\f188\fs24 argument values), both input and output may be performed on the associated stream. However, output shall not be directly followed by input without an intervening call to the }{
\b\f189\fs24 fflush }{\f188\fs24 function or to a file positioning function (}{\b\f189\fs24 fseek}{\f188\fs24 ,}{\b\f189\fs24 fsetpos}{\f188\fs24 ,or}{\b\f189\fs24 rewind}{\f188\fs24 
), and input shall not be directly followed by output without an intervening call to a file positioning function, unless the input operation encounters end-of- file. Opening (or creating) a text file with update mo
de may instead open (or create) a binary stream in some implementations.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 When opened, a stream is fully buffered if and only if it can be determined not to refer to an interactive device. The error and end-of-file indicators for the stream are cleared.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fopen }{\f188\fs24 function returns a pointer to the object controlling the stream. If the open operation fails, }{\b\f189\fs24 fopen }{\f188\fs24 returns a null pointer.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669806}_fpclass{\*\bkmkend _Toc439669806}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <float.h>
\par int _fpclass(double n);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 _fpclass }{\f188\fs24 function returns an integer that represent the different forms of classifying the given double precision value.
\par }\pard \widctlpar {\f188\fs24 This values (defined in float.h) are\~:
\par }{\b\fs24 _FPCLASS_SNAN}{\fs24 \tab Signaling NaN
\par }{\b\fs24 _FPCLASS_QNAN}{\fs24 \tab Quiet NaN
\par }{\b\fs24 _FPCLASS_NINF}{\fs24 \tab Negative infinity ( \endash INF)
\par }{\b\fs24 _FPCLASS_NN}{\fs24 \tab Negative normalized non-zero
\par }{\b\fs24 _FPCLASS_ND}{\fs24 \tab Negative denormalized
\par }{\b\fs24 _FPCLASS_NZ}{\fs24 \tab Negative zero ( \endash  0)
\par }{\b\fs24 _FPCLASS_PZ}{\fs24 \tab Positive 0 (+0)
\par }{\b\fs24 _FPCLASS_PD}{\fs24 \tab Positive denormalized
\par }{\b\fs24 _FPCLASS_PN}{\fs24 \tab Positive normalized non-zero
\par }{\b\fs24 _FPCLASS_PINF}{\fs24 \tab Positive infinity (+INF)
\par }{\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }{\f190\fs24 The classification of its argument x.}{\b\f190\fs24 
\par }{\f188\fs24 
\par Portability\~:
\par Windows (x86 specific). Note that lcc-win32 supports both }{\b\f188\fs24 _fpclass}{\f188\fs24  and }{\b\f188\fs24 fpclass}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669807}_fpreset{\*\bkmkend _Toc439669807}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <float.h>
\par int _freset(void);
\par }{\b\f190\fs24 Description
\par }{\f188\fs24 This function resets the numerical coprocessor and its associated run time variables.
\par 
\par }{\b\f188\fs24 Returns\~:
\par }{\f188\fs24 This function returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669808}fprintf{\*\bkmkend _Toc439669808}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int fprintf(FILE * restrict stream, const char * restrict format, ...);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fprintf }{\f188\fs24 function writes output to the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 , under control of the string pointed to by }{\b\f189\fs24 format }{\f188\fs24 
that specifies how subsequent arguments are converted for output. If there are insufficient arguments for the format, the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are othe
rwise ignored. The }{\b\f189\fs24 fprintf }{\f188\fs24 
function returns when the end of the format string is encountered.  The format shall be a multibyte character sequence,  beginning and ending in its initial shift state. The format is composed of zero or more
 directives: ordinary multibyte characters (not }{\b\f189\fs24 %}{\f188\fs24 
), which are copied unchanged to the output stream; and conversion specifications, each of which results in fetching zero or more subsequent arguments, converting them, if applicable, according to the corresponding conversion specifier, and then writing t
he result to the output stream.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 Each conversion specification is introduced by the character }{\b\f189\fs24 %}{\f188\fs24 . After the }{\b\f189\fs24 %}{\f188\fs24 , the following appear in sequence: 
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 Zero or more }{\i\f191\fs24 flags }{\f188\fs24 (in any order) that modify the meaning of th
e conversion specification.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional minimum }{\i\f191\fs24 field width}{\f188\fs24 
. If the converted value has fewer characters than the field width, it is padded with spaces (by default) on the left (or right, if the left adjustment flag, described later, has been given) to the field width. The field width takes the form of an asteris
k }{\b\f189\fs24 * }{\f188\fs24 (described later) or a decimal integer.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional }{\i\f191\fs24 precision }{\f188\fs24 that gives the minimum number of digits to appear for the }{
\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 , and }{\b\f189\fs24 X }{\f188\fs24 conversions, the number of digits to appear after the
 decimal-point character for }{\b\f189\fs24 a}{\f188\fs24 , }{\b\f189\fs24 A}{\f188\fs24 , }{\b\f189\fs24 e}{\f188\fs24 , }{\b\f189\fs24 E}{\f188\fs24 , }{\b\f189\fs24 f}{\f188\fs24 , and }{\b\f189\fs24 F }{\f188\fs24 
conversions, the maximum number of significant digits for the }{\b\f189\fs24 g }{\f188\fs24 and }{\b\f189\fs24 G }{\f188\fs24 conversions, or the maximum number of characters to be written from a string in }{\b\f189\fs24 s }{\f188\fs24 
conversions. The precision takes the form of a period (}{\b\f189\fs24 .}{\f188\fs24 ) followed either by an asterisk }{\b\f189\fs24 * }{\f188\fs24 
(described later) or by an optional decimal integer; if only the period is specified, the precision is taken as zero. If a precision appears with any other conversion specifier, the behavior is undefined.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional }{\i\f191\fs24 length modifier }{\f188\fs24 that specifies the size of the argument.
\par {\pntext\pard\plain\f1 \'b7\tab}A }{\i\f191\fs24 conversion specifier }{\f188\fs24 character that specifies the type of conversion to be applied.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 As noted above, a field width, or precision, or both, may be indicated by an asterisk. In this case, an }{\b\f189\fs24 int }{\f188\fs24 
argument supplies the field width or precision. The arguments specifying field width, or precision, or both, shall appear (in that order) before the argument (if any) to be converted. A negative field width argument is taken as a }{\b\f189\fs24 - }{
\f188\fs24 flag followed by a positive field width. A neg ative precision argument is taken as if the precision were omitted.
\par }\pard \widctlpar {\f188\fs24 
\par The flag characters and their meanings are:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f188\fs24 - (dash)}{\f188\fs24 
 The result of the conversion is left-justified within the field. (It is right-justified if this flag is not specified.)
\par {\pntext\pard\plain\f1\fs18 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 + }{\f188\fs24 
The result of a signed conversion always begins with a plus or minus sign. (It begins with a sign only when a negative value is converted if this flag is not specified.)}{\f188\fs18 
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\i\f191\fs24 space }{\f188\fs24 If the first character of a signed conversion is not a sign, or if a signed
 conversion results in no characters, a space is prefixed to the result. If the }{\i\f191\fs24 space }{\f188\fs24 and }{\b\f189\fs24 + }{\f188\fs24 flags both appear, the }{\i\f191\fs24 space }{\f188\fs24 flag is ignored.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 # }{\f188\fs24 The result is converted to an \lquote \lquote alternative form\rquote \rquote . For }{
\b\f189\fs24 o }{\f188\fs24 conversion, it increases the precision, if and only if necessary, to force the first digit of the result to be a zero (if the value and precision are both 0, a single 0 is printed). For }{\b\f189\fs24 x }{\f188\fs24 (or }{
\b\f189\fs24 X}{\f188\fs24 ) conversion, a   nonzero result has }{\b\f189\fs24 0x }{\f188\fs24 (or }{\b\f189\fs24 0X}{\f188\fs24 ) prefixed to it. For }{\b\f189\fs24 a}{\f188\fs24 , }{\b\f189\fs24 A}{\f188\fs24 , }{\b\f189\fs24 e}{\f188\fs24 , }{
\b\f189\fs24 E}{\f188\fs24 , }{\b\f189\fs24 f}{\f188\fs24 , }{\b\f189\fs24 F}{\f188\fs24 , }{\b\f189\fs24 g}{\f188\fs24 , and }{\b\f189\fs24 G }{\f188\fs24 conversions, the result al
ways contains a decimal-point character, even if no digits follow it. (Normally, a decimal-point character appears in the result of these conversions only if a digit follows it.) For }{\b\f189\fs24 g }{\f188\fs24 and }{\b\f189\fs24 G }{\f188\fs24 
conversions, trailing zeros are }{\i\f191\fs24 not }{\f188\fs24 removed from the result. For other conversions, the behavior is undefined.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 0 }{\f188\fs24 For }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , 
}{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 , }{\b\f189\fs24 X}{\f188\fs24 , }{\b\f189\fs24 a}{\f188\fs24 , }{\b\f189\fs24 A}{\f188\fs24 , }{\b\f189\fs24 e}{\f188\fs24 , }{\b\f189\fs24 E}{\f188\fs24 , }{\b\f189\fs24 f}{\f188\fs24 , }{
\b\f189\fs24 F}{\f188\fs24 , }{\b\f189\fs24 g}{\f188\fs24 , and }{\b\f189\fs24 G }{\f188\fs24 conversions, leading zeros (following any indication of sign or base) are used to pad to the field width; no space padding is performed. If the }{\b\f189\fs24 0 
}{\f188\fs24 and }{\b\f189\fs24 - }{\f188\fs24 flags both appear, the }{\b\f189\fs24 0 }{\f188\fs24 flag is ignored. For }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{
\b\f189\fs24 x}{\f188\fs24 , and }{\b\f189\fs24 X }{\f188\fs24 conversions, if a precision is specified, the }{\b\f189\fs24 0 }{\f188\fs24 flag is ignored. For other conversions, the behavior is undefined.
\par }\pard \widctlpar {\f188\fs24 
\par The length modifiers and their meanings are:
\par }{\b\f189\fs24 
\par }\pard \qj\fi-142\li1701\ri1701\widctlpar {\b\f189 hh }{\f188 Specifies that a following }{\b\f189 d}{\f188 , }{\b\f189 i}{\f188 , }{\b\f189 o}{\f188 , }{\b\f189 u}{\f188 , }{\b\f189 x}{\f188 ,or }{\b\f189 X }{\f188 conversion specifier applies to a }{
\b\f189 signed char }{\f188 or }{\b\f189 unsigned char }{\f188 argument (the argument will have been promoted according to the integer promotions, but its value shall be converted to }{\b\f189 signed char }{\f188 or }{\b\f189 unsigned char }{\f188 
before printing); or that a following }{\b\f189 n }{\f188 conversion specifier applies to a pointer to a }{\b\f189 signed char }argument. 
\par \pard \qj\li1701\ri1701\widctlpar {\b Not implemented in CRTDLL.DLL, therefore not implemented in lcc-win32 yet.}{\b\fs24 
\par }\pard \qj\fi-142\li142\widctlpar {\b\f189\fs24 h }{\f188\fs24 Specifies that a following }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 ,or }{
\b\f189\fs24 X }{\f188\fs24 conversion specifier applies to a }{\b\f189\fs24 short int }{\f188\fs24 or }{\b\f189\fs24 unsigned short int }{\f188\fs24 
argument (the argument will have been promoted according to the integer promotions, but its value shall be converted to }{\b\f189\fs24 short int }{\f188\fs24 or }{\b\f189\fs24 unsigned short int }{\f188\fs24 before printing); or that a following }{
\b\f189\fs24 n }{\f188\fs24 conversion specifier applies to a pointer to a }{\b\f189\fs24 short int }{\f188\fs24 argument.
\par }\pard \qj\fi-142\li142\widctlpar {\b\f189\fs24 l }{\f188\fs24 (ell) Specifies that a following }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 ,or }{
\b\f189\fs24 X }{\f188\fs24 conversion specifier applies to a }{\b\f189\fs24 long int }{\f188\fs24 or }{\b\f189\fs24 unsigned long int }{\f188\fs24 argument; that a following }{\b\f189\fs24 n }{\f188\fs24 conversion specifier applies to a pointer to a }{
\b\f189\fs24 long int }{\f188\fs24 argument; that a following }{\b\f189\fs24 c }{\f188\fs24 conversion specifier applies to a }{\b\f189\fs24 wint_t }{\f188\fs24 argument; that a following }{\b\f189\fs24 s }{\f188\fs24 
conversion specifier applies to a pointer to a }{\b\f189\fs24 wchar_t }{\f188\fs24 argument; or has no effect on a following }{\b\f189\fs24 a}{\f188\fs24 , }{\b\f189\fs24 A}{\f188\fs24 , }{\b\f189\fs24 e}{\f188\fs24 , }{\b\f189\fs24 E}{\f188\fs24 , }{
\b\f189\fs24 f}{\f188\fs24 , }{\b\f189\fs24 F}{\f188\fs24 ,   }{\b\f189\fs24 g}{\f188\fs24 ,or }{\b\f189\fs24 G }{\f188\fs24 conversion specifier.
\par }\pard \li1701\ri1559\widctlpar {\b\f189 ll }{\f188 (ell-ell) Specifies that a following }{\b\f189 d}{\f188 , }{\b\f189 i}{\f188 , }{\b\f189 o}{\f188 , }{\b\f189 u}{\f188 , }{\b\f189 x}{\f188 ,or }{\b\f189 X }{\f188 conversion specifier applies to a }{
\b\f189 long long int }{\f188 or }{\b\f189 unsigned long long int }{\f188 argument; or that a following }{\b\f189 n }{\f188 conversion specifier applies to a pointer to a }{\b\f189 long long int }{\f188 argument.
\par }\pard \li1701\ri1559\widctlpar {\b\f188 Not implemented in CRTDLL.DLL}{\f188 
\par }\pard \widctlpar {\b\f189\fs24 j }{\f188\fs24 Specifies that a following }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 ,or}{\b\f189\fs24 X}{
\f188\fs24 conversion specifier applies to an }{\b\f189\fs24 intmax_t }{\f188\fs24 or }{\b\f189\fs24 uintmax_t }{\f188\fs24 argument; or that a following }{\b\f189\fs24 n }{\f188\fs24 conversion specifier applies to a pointer to an }{\b\f189\fs24 
intmax_t }{\f188\fs24 argument.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 z }{\f188 Specifies that a following }{\b\f189 d}{\f188 , }{\b\f189 i}{\f188 , }{\b\f189 o}{\f188 , }{\b\f189 u}{\f188 , }{\b\f189 x}{\f188 ,or }{\b\f189 X }{\f188 conversion specifier applies to a }{\b\f189 
size_t }{\f188 or the  corresponding signed integer type argument; or that a  following }{\b\f189 n }{\f188 conversion specifier applies to a pointer to a  signed integer type corresponding to }{\b\f189 size_t }{\f188 argument.
\par }\pard \li1701\ri1701\widctlpar {\b\f188 NOT IMPLEMENTED IN CRTDLL.DLL
\par }\pard \qj\widctlpar {\b\f189\fs24 t }{\f188\fs24 Specifies that a following }{\b\f189\fs24 d}{\f188\fs24 , }{\b\f189\fs24 i}{\f188\fs24 , }{\b\f189\fs24 o}{\f188\fs24 , }{\b\f189\fs24 u}{\f188\fs24 , }{\b\f189\fs24 x}{\f188\fs24 ,or}{\b\f189\fs24 X}{
\f188\fs24 conversion specifier applies to a }{\b\f189\fs24 ptrdiff_t }{\f188\fs24 or the corresponding unsigned integer type argument; or that a following }{\b\f189\fs24 n }{\f188\fs24 conversion specifier applies to a pointer to a }{\b\f189\fs24 
ptrdiff_t }{\f188\fs24 argument.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 L }{\f188 Specifies that a following }{\b\f189 a}{\f188 , }{\b\f189 A}{\f188 , }{\b\f189 e}{\f188 , }{\b\f189 E}{\f188 , }{\b\f189 f}{\f188 , }{\b\f189 F}{\f188 , }{\b\f189 g}{\f188 ,or }{\b\f189 G }{\f188 
conversion specifier applies to a }{\b\f189 long double }{\f188 argument.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f188 Not implemented in CRTDLL.DLL}{\f188 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 If a length modifier appears with any conversion specifier other than as specified above, the behavior is undefined.
\par }\pard \widctlpar {\f188\fs24 
\par 
\par The conversion specifiers and their meanings are:
\par }\pard \qj\widctlpar {\b\f189\fs24 d,i }{\f188\fs24 The }{\b\f189\fs24 int }{\f188\fs24 argument is converted to signed decimal in the style }{\i\f191\fs24 [}{\b\f189\fs24 \'ad}{\i\f191\fs24 ]dddd}{\f188\fs24 
. The precision specifies the minimum number of digits to appear; if the value being converted can be represented in fewer digits, it is expanded with leading zeros. The default precision is 1. The result 
of converting a zero value with a precision of zero is no characters.
\par }\pard \widctlpar {\b\f189\fs24 
\par }\pard \qj\widctlpar {\b\f189\fs24 o,u,x,X }{\f188\fs24 The }{\b\f189\fs24 unsigned int }{\f188\fs24 argument is converted to unsigned octal (}{\b\f189\fs24 o}{\f188\fs24 ), unsigned decimal (}{\b\f189\fs24 u}{\f188\fs24 
), or unsigned hexadecimal notation (}{\b\f189\fs24 x }{\f188\fs24 or }{\b\f189\fs24 X}{\f188\fs24 ) in the style }{\i\f191\fs24 dddd}{\f188\fs24 ; the letters }{\b\f189\fs24 abcdef }{\f188\fs24 are used for }{\b\f189\fs24 x }{\f188\fs24 
conversion and the letters }{\b\f189\fs24 ABCDEF }{\f188\fs24 for }{\b\f189\fs24 X}{\f188\fs24 
conversion. The precision specifies the minimum number of digits to appear; if the value being converted can be represented in fewer digits, it is expanded with leading zeros. The default precision is 1. The result 
of converting a zero value with a precision of zero is no characters.
\par }\pard \widctlpar {\b\f189\fs24 
\par }\pard \qj\widctlpar {\b\f189\fs24 f,F }{\f188\fs24 A }{\b\f189\fs24 double }{\f188\fs24 argument representing a (finite) floating-point number is converted to decimal notation in the style }{\i\f191\fs24 [}{\b\f189\fs24 \'ad}{\i\f191\fs24 ]ddd}{
\b\f189\fs24 .}{\i\f191\fs24 ddd}{\f188\fs24 , where the number of digits after the decimal-point character is equal to the precision specification. If the precision is missing, it is taken as 6; if the precision is zero and the }{\b\f189\fs24 # }{
\f188\fs24 flag is not specified, no decimal-point character appears. If a decimal-point character appears, at least one digit appears before it. The value is rounded to the appropriate number of digits. A }{\b\f189\fs24 double }{\f188\fs24 
argument representing an infinity is converted in one of the styles }{\i\f191\fs24 [}{\b\f189\fs24 -}{\i\f191\fs24 ]}{\b\f189\fs24 inf }{\f188\fs24 or }{\i\f191\fs24 [}{\b\f189\fs24 -}{\i\f191\fs24 ]}{\b\f189\fs24 infinity }{\f188\fs24 \emdash 
 which style is implementation-defined. A }{\b\f189\fs24 double }{\f188\fs24 argument representing a NaN is converted in one of the styles }{\i\f191\fs24 [}{\b\f189\fs24 -}{\i\f191\fs24 ]}{\b\f189\fs24 nan }{\f188\fs24 or }{\i\f191\fs24 [}{\b\f189\fs24 -}
{\i\f191\fs24 ]}{\b\f189\fs24 nan(}{\i\f191\fs24 n-char-sequence}{\b\f189\fs24 ) }{\f188\fs24 \emdash  which style, and the meaning of
\par }\pard \qj\widctlpar {\f188\fs24 any }{\i\f191\fs24 n-char-sequence}{\f188\fs24 , is implementation-defined. The }{\b\f189\fs24 F }{\f188\fs24 conversion specifier produces }{\b\f189\fs24 INF}{\f188\fs24 , }{\b\f189\fs24 INFINITY}{\f188\fs24 ,or }{
\b\f189\fs24 NAN }{\f188\fs24 instead of }{\b\f189\fs24 inf}{\f188\fs24 , }{\b\f189\fs24 infinity}{\f188\fs24 , or }{\b\f189\fs24 nan}{\f188\fs24 , respectively.}{\f188\fs18 
\par }\pard \qj\widctlpar {\b\f189\fs24 e,E }{\f188\fs24 A }{\b\f189\fs24 double }{\f188\fs24 argument representing a (finite) floating-point number is converted in the style }{\i\f191\fs24 [}{\b\f189\fs24 \'ad}{\i\f191\fs24 ]d}{\b\f189\fs24 .}{\i\f191\fs24 
ddd }{\b\f189\fs24 e}{\f1\fs24 \'b1}{\i\f191\fs24 dd}{\f188\fs24 
, where there is one digit (which is nonzero if the argument is nonzero) before the decimal-point character and the number of digits after it is equal to the precision; if the precision is missing, it is taken as 6; if the precision is zero and the }{
\b\f189\fs24 # }{\f188\fs24 flag is not specified, no decimal-point character appears. The value is rounded to the appropriate number of digits. The }{\b\f189\fs24 E }{\f188\fs24 conversion specifier produces a number with }{\b\f189\fs24 E }{\f188\fs24 
instead of }{\b\f189\fs24 e }{\f188\fs24 introducing the exponent. The exponent always contains at least two digits, and only as many more digits as necessary to represent the exponent. If the value is zero, the exponent is zero. A }{\b\f189\fs24 double }
{\f188\fs24 argument representing an infinity or NaN is converted in the style
\par }\pard \widctlpar {\f188\fs24 of an }{\b\f189\fs24 f }{\f188\fs24 or }{\b\f189\fs24 F }{\f188\fs24 conversion specifier.
\par }\pard \widctlpar {\b\f189\fs24 
\par }\pard \qj\widctlpar {\b\f189\fs24 g,G }{\f188\fs24 A }{\b\f189\fs24 double }{\f188\fs24 argument representing a (finite) floating-point number is converted in style }{\b\f189\fs24 f }{\f188\fs24 or }{\b\f189\fs24 e }{\f188\fs24 (or in style }{
\b\f189\fs24 F }{\f188\fs24 or }{\b\f189\fs24 E }{\f188\fs24 in the case of a }{\b\f189\fs24 G }{\f188\fs24 conversion specifier), with the precision specifying the number o
f significant digits. If the precision is zero, it is taken as 1. The style used depends on the value converted; style }{\b\f189\fs24 e }{\f188\fs24 (or }{\b\f189\fs24 E}{\f188\fs24 
) is used only if the exponent resulting from such a conversion is less than \'ad4 or greater than or equal to the precision. Trailing zeros are removed from the fractional portion of the result unless the }{\b\f189\fs24 # }{\f188\fs24 
flag is specified; a decimal-point character appears only if it is followed by a digit. A }{\b\f189\fs24 double }{\f188\fs24 argument representing an infinity or NaN is converted in the style of an }{\b\f189\fs24 f }{\f188\fs24 or }{\b\f189\fs24 F }{
\f188\fs24 conversion specifier.
\par }\pard \qj\li709\ri1984\widctlpar {\b\f189 a,A }{\f188 A }{\b\f189 double }{\f188 argument representing a (finite) floating-point number is converted in the style }{\i\f191 [}{\b\f189 \'ad}{\i\f191 ]}{\b\f189 0x}{\i\f191 h}{\b\f189 .}{\i\f191 hhhh }{
\b\f189 p}{\f1 \'b1}{\i\f191 d}{\f188 , where there is one hexadecimal digit (which is nonzero if the argument is a normalized floating-point number and is otherwise unspecified) before the decimal-point character 219) and the }{\f1 * }{\f188 
number of hexadecimal digits after it is equal to the precision; if the precision is missing and }{\b\f189 FLT_RADIX }{\f188 is a power of 2, then the precision is sufficient for an exact representation of the value; if the precision is missing and }{
\b\f189 FLT_RADIX }{\f188 is not a power of 2, then the precision is sufficient to distinguish 220) values of type }{\b\f189 double}{\f188 , except that trailing zeros may be omitted; if the precision is zero and the }{\b\f189 # }{\f188 
flag is not specified, no decimal-point character appears. 
\par }\pard \qj\li709\ri1984\widctlpar {\f188 The letters }{\b\f189 abcdef }{\f188 are used for }{\b\f189 a }{\f188 conversion and the letters }{\b\f189 ABCDEF }{\f188 for }{\b\f189 A }{\f188 conversion. The }{\b\f189 A }{\f188 
conversion specifier produces a number with }{\b\f189 X }{\f188 and }{\b\f189 P }{\f188 instead of }{\b\f189 x }{\f188 and }{\b\f189 p}{\f188 . The exponent always contains at least one digit, and only as many 
more digits as necessary to represent the decimal exponent of 2. If the value is zero, the exponent is zero.
\par }\pard \qj\li709\ri1984\widctlpar {\f188 A }{\b\f189 double }{\f188 argument representing an infinity or NaN is converted in the style of an }{\b\f189 f }{\f188 or }{\b\f189 F }{\f188 conversion specifier.
\par }\pard \qj\li709\ri1984\widctlpar {\f188 
\par }{\f188\lang1024 {\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst 
SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings"
 \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}{\field{\*\fldinst SYMBOL 224 \\f "Wingdings" \\s 10}{\fldrslt\f21\fs20}}}{
\f188\lang1024   }{\b\f188\lang1024  NOT implemented in}{\f188\lang1024  CRTDLL.DLL}{\f188 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\b\f189\fs24 c }{\f188\fs24 If no }{\b\f189\fs24 l }{\f188\fs24 length modifier is present, the }{\b\f189\fs24 int }{\f188\fs24 argument is converted to an }{\b\f189\fs24 unsigned char}{\f188\fs24 
, and the resulting character is written. If an }{\b\f189\fs24 l }{\f188\fs24 length modifier is present, the }{\b\f189\fs24 wint_t }{\f188\fs24 argument is converted as if by an }{\b\f189\fs24 ls }{\f188\fs24 conversion specification with no p
recision and an argument that points to the initial element of a two-element array of }{\b\f189\fs24 wchar_t}{\f188\fs24 , the first element containing the }{\b\f189\fs24 wint_t }{\f188\fs24 argument to the }{\b\f189\fs24 lc }{\f188\fs24 
conversion specification and the second a null wide character.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\b\f189\fs24 s }{\f188\fs24 If no }{\b\f189\fs24 l }{\f188\fs24 length modifier is present, the argument shall be a pointer to the initial element of an array of character type.}{\f188\fs18  }{\f188\fs24 
Characters from the array are written up to (but not including) the terminating null character. If the precision is specified, no more than that many characters are writt
en. If the precision is not specified or is greater than the size of the array, the array shall contain a null character. If an }{\b\f189\fs24 l }{\f188\fs24 
length modifier is present, the argument shall be a pointer to the initial element of an array of }{\b\f189\fs24 wchar_t }{\f188\fs24 type. Wide characters from the array are converted to multibyte characters (each as if by a call to the }{\b\f189\fs24 
wcrtomb }{\f188\fs24 function, with the conversion state described by an }{\b\f189\fs24 mbstate_t }{\f188\fs24 object initialized to zero before the first wide character is converted) up to and including a termina
ting null wide character. The resulting multibyte characters are written up to (but not including) the terminating null character (byte). If no precision is specified, the array shall contain a null wide character. If a precision is specified, no more tha
n that many characters (bytes) are written (including shift sequences, if any), and the array shall contain a null wide character if, to equal the multibyte character sequence length given by the precision, the function would need to access a wide charact
er one past the end of the array. In no case is a partial multibyte
\par }\pard \widctlpar {\f188\fs24 character written.}{\f188\fs18 
\par }\pard \qj\widctlpar {\b\f189\fs24 p }{\f188\fs24 The argument shall be a pointer to }{\b\f189\fs24 void}{\f188\fs24 . The value of the pointer is converted to a sequence of printable characters, in an implementation-defined manner.
\par }\pard \qj\widctlpar {\b\f189\fs24 n }{\f188\fs24 The argument shall be a pointer to signed integer into which is }{\i\f191\fs24 written }{\f188\fs24 the number of characters written to the output stream so far by this call to }{\b\f189\fs24 fprintf}{
\f188\fs24 . No argument is converted, but one is consumed. If the conversion specification includes any flags, a field width, or a precision, the behavior is undefined.
\par }\pard \widctlpar {\b\f189\fs24 
\par }\pard \widctlpar {\b\f189\fs24 % }{\f188\fs24 A }{\b\f189\fs24 % }{\f188\fs24 character is written. No argument is converted. The complete conversion specification shall be }{\b\f189\fs24 %%}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 If a conversion specification is invalid, the behavior is undefined.}{\f188\fs18  }{\f188\fs24 If any argument is not the correct type for the corresponding coversion specification, the behavior is undefined.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 In no case does a nonexistent or small field width cause truncation of a field; if the result of a conversion is wider than the field width, the field is expanded to contain the conversion result.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 For }{\b\f189\fs24 a }{\f188\fs24 and }{\b\f189\fs24 A }{\f188\fs24 conversions, if  }{\b\f189\fs24 FLT_RADIX }{\f188\fs24 
is a power of 2, the value is correctly rounded to a hexadecimal floating number with the given precision.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 For }{\b\f189\fs24 e}{\f188\fs24 , }{\b\f189\fs24 E}{\f188\fs24 , }{\b\f189\fs24 f}{\f188\fs24 , }{\b\f189\fs24 F}{\f188\fs24 , }{\b\f189\fs24 g}{\f188\fs24 , and }{\b\f189\fs24 G }{\f188\fs24 
conversions, if the number of significant decimal digits is at most }{\b\f189\fs24 DECIMAL_DIG}{\f188\fs24 , then the result should be correctly rounded.}{\f188\fs18  }{\f188\fs24 If the number of significant decimal digits is more than }{\b\f189\fs24 
DECIMAL_DIG }{\f188\fs24 but the source value is exactly representable with }{\b\f189\fs24 DECIMAL_DIG }{\f188\fs24 digits, then the result should be an exact representation 
with trailing zeros. Otherwise, the source value is bounded by two adjacent decimal strings }{\i\f191\fs24 L <U}{\f188\fs24 , both having }{\b\f189\fs24 DECIMAL_DIG }{\f188\fs24 significant digits; the value of the resultant decimal string }{\i\f191\fs24 
D }{\f188\fs24 should satisfy }{\i\f191\fs24 L }{\f1\fs24 \'a3 }{\i\f191\fs24 D }{\f1\fs24 \'a3 }{\i\f191\fs24 U}{\f188\fs24 , with the extra stipulation that the error should have a correct sign for the current rounding direction.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fprintf }{\f188\fs24 function returns the number of characters transmitted, or a negative value if an output or encoding error occurred.
\par }\pard \widctlpar {\b\f190\fs24 
\par Environmental limits
\par }\pard \qj\widctlpar {\f188\fs24 The number of characters that can be produced by any single conversion shall be at least 4095.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669809}fputc{\*\bkmkend _Toc439669809}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fputc(int c, FILE *stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fputc }{\f188\fs24 function writes the character specified by }{\b\f189\fs24 c }{\f188\fs24 (converted to an }{\b\f189\fs24 unsigned char}{\f188\fs24 ) to the output stream pointed to by }{\b\f189\fs24 
stream}{\f188\fs24 
, at the position indicated by the associated file position indicator for the stream (if defined), and advances the indicator appropriately. If the file cannot support positioning requests, or if the stream was opened with append mode, the chara
cter is appended to the output stream. 
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fputc }{\f188\fs24 function returns the character written. If a write error occurs, the error indicator for the stream is set and }{\b\f189\fs24 fputc }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 
.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669810}fputs{\*\bkmkend _Toc439669810}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fputs(const char * restrict s, FILE * restrict stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fputs }{\f188\fs24 function writes the string pointed to by }{\b\f189\fs24 s }{\f188\fs24 to the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 . The terminating null character is not written.

\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 fputs }{\f188\fs24 function returns }{\b\f189\fs24 EOF }{\f188\fs24 if a write error occurs; otherwise it returns a nonnegative value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669811}fread{\*\bkmkend _Toc439669811}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t fread(void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fread }{\f188\fs24 function reads, into the array pointed to by }{\b\f189\fs24 ptr}{\f188\fs24 ,up to}{\b\f189\fs24 nmemb }{\f188\fs24 elements whose size is specified by }{\b\f189\fs24 size}{\f188\fs24 
, from the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
. The file position indicator for the stream (if defined) is advanced by the number of characters successfully read. If an error occurs, the resulting value of the file position indicator for the stream i
s indeterminate. If a partial element is read, its value is indeterminate.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fread }{\f188\fs24 function returns the number of elements successfully read, which may be less than }{\b\f189\fs24 nmemb }{\f188\fs24 if a read error or end-of-file is encountered. If }{\b\f189\fs24 
size }{\f188\fs24 or }{\b\f189\fs24 nmemb }{\f188\fs24 is zero, }{\b\f189\fs24 fread }{\f188\fs24 returns zero and the contents of the array and the state of the stream remain unchanged.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669812}free{\*\bkmkend _Toc439669812}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void free(void *ptr);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 free }{\f188\fs24 function causes the space pointed to by }{\b\f189\fs24 ptr }{\f188\fs24 to be deallocated, that is, made available for further allocation. If }{\b\f189\fs24 ptr }{\f188\fs24 
is a null pointer, no action occurs. Otherwise, if the argument does not match a pointer earlier returned by the }{\b\f189\fs24 calloc}{\f188\fs24 , }{\b\f189\fs24 malloc}{\f188\fs24 ,or }{\b\f189\fs24 realloc }{\f188\fs24 
function, or if the space has been deallocated by a call to }{\b\f189\fs24 free }{\f188\fs24 or }{\b\f189\fs24 realloc}{\f188\fs24 , the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 free }{\f188\fs24 function returns no value.
\par }\pard \widctlpar {\b\fs24 
\par }\pard \qj\fi-142\li142\widctlpar {\b\f189\fs24 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669813}freopen{\*\bkmkend _Toc439669813}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 FILE *freopen(const char * filename, const char * mode,FILE * restrict stream);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 freopen }{\f188\fs24 function opens the file whose name is the string pointed to by }{\b\f189\fs24 filename }{\f188\fs24 and associates the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
with it. The }{\b\f189\fs24 mode }{\f188\fs24 argument is used just as in the }{\b\f189\fs24 fopen }{\f188\fs24 function.
\par }\pard \qj\widctlpar {\fs24 The primary use of the }{\b\fs24 freopen }{\fs24 function is to change the file associated with a standard text stream (}{\b\fs24 stderr}{\fs24 , }{\b\fs24 stdin}{\fs24 ,or}{\b\fs24 stdout}{\fs24 
), as those identifiers need not be modifiable lvalues to which the value returned by the }{\b\fs24 fopen }{\fs24 function may be assigned.}{\cs25\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn }
 This is not the case in lcc-win32. The standard file descriptors stdin, stdout and stderr are lvalues and can be modified.}}{\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 filename }{\f188\fs24 is a null pointer, the }{\b\f189\fs24 freopen }{\f188\fs24 function attempts to change the mode of the stream to that specified by }{\b\f189\fs24 mode}{\f188\fs24 ,as if
 the name of the file currently associated with the stream had been used. It is implementation-defined which changes of mode are permitted (if any), and under what circumstances.
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 freopen }{\f188\fs24 
function first attempts to close any file that is associated with the specified stream. Failure to close the file is ignored. The error and end-of-file indicators for the stream are cleared.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 freopen }{\f188\fs24 function returns a null pointer if the open operation fails. Otherwise, }{\b\f189\fs24 freopen }{\f188\fs24 returns the value of }{\b\f189\fs24 stream}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669814}frexp{\*\bkmkend _Toc439669814}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }\pard \widctlpar {\f188\fs24 1 }{\b\f189\fs24 #include <math.h>
\par }\pard \widctlpar {\b\f189\fs24 double frexp(double value, int *exp);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 frexp }{\f188\fs24 functions break a floating-point number into a normalized fraction and an integral power of 2. They store the integer in the }{\b\f189\fs24 int }{\f188\fs24 object pointed to by }{
\b\f189\fs24 exp}{\f188\fs24 . 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 frexp }{\f188\fs24 functions return the value }{\b\f189\fs24 x}{\f188\fs24 , such that }{\b\f189\fs24 x }{\f188\fs24 has a magnitude in the interval [1/2, 1) or zero, and }{\b\f189\fs24 value }{
\f188\fs24 equals }{\b\f189\fs24 x }{\f1\fs24 \'b4 }{\f188\fs24 2 }{\b\f189\fs16 *exp }{\f188\fs24 .If }{\b\f189\fs24 value }{\f188\fs24 is zero, both parts of the result are zero.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669815}fscanf{\*\bkmkend _Toc439669815}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int fscanf(FILE * restrict stream,const char * restrict format, ...);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fscanf }{\f188\fs24 function reads input from the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 , under control of the string pointed to by }{\b\f189\fs24 format }{\f188\fs24 
that specifies the admissible input sequences and how they are to be converted for assignment, using subsequent arguments as pointers to the objects to receive the converted input. If there are insufficient arguments for the format, the behavior is undefi
ned. If the format is exhausted while arguments remain, the excess arguments are evaluated (as always) but are otherwise ignored.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
The format shall be a multibyte character sequence, beginning and ending in its initial shift state. The format is composed of zero or more directives: one or more white-space characters, an ordinary multibyte character (neither }{\b\f189\fs24 % }{
\f188\fs24 nor a white-space character), or a conversion specification. Each conversion specification is introduced by the character }{\b\f189\fs24 %}{\f188\fs24 . 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 After the }{\b\f189\fs24 %}{\f188\fs24 , the following appear in sequence:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional assignment-suppressing character }{\b\f189\fs24 *}{\f188\fs24 .
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional nonzero decimal integer that specifies the maximum field width (in characters).
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 An optional }{\i\f191\fs24 length modifier }{\f188\fs24 that specifies the size of the receiving object.
\par {\pntext\pard\plain\f1 \'b7\tab}A}{\i\f191\fs24 conversion specifier }{\f188\fs24 character that specifies the type of conversion to be applied. 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fscanf }{\f188\fs24 
function executes each directive of the format in turn. If a directive fails, as detailed below, the function returns. Failures are described as input failures (due to the occurrence of an encoding error or the unavailability of input characters), or matc
hing failures (due to inappropriate input).
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 A directive composed of white-space character(s) is executed by reading input up to the first non-white-space character (which remains unread), or until no more characters can be read.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
A directive that is an ordinary multibyte character is executed by reading the next characters of the stream. If any of those characters differ from the ones composing the directive, the directive fails and the differing and subsequent characters remain u
nread.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 A directive that is a conversion specification defines a set of matching input sequences, as described below for each specifier. A conversion specification is executed in the
\par }\pard \widctlpar {\f188\fs24 following steps:
\par }\pard \qj\widctlpar {\f188\fs24 Input white-space characters (as specified by the }{\b\f189\fs24 isspace }{\f188\fs24 function) are skipped, unless the specification includes a }{\b\f189\fs24 [}{\f188\fs24 , }{\b\f189\fs24 c}{\f188\fs24 ,or}{
\b\f189\fs24 n}{\f188\fs24 specifier.}{\f188\fs18 225)
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 An input item is read from the stream, unless the specification includes an }{\b\f189\fs24 n }{\f188\fs24 
specifier. An input item is defined as the longest sequence of input characters which does not exceed any specified field wi
dth and which is, or is a prefix of, a matching input sequence. The first character, if any, after the input item remains unread. If the length of the input item is zero, the execution of the directive fails; this condition is a matching failure unless en
d-of- file, an encoding error, or a read error prevented input from the stream, in which case it is an input failure.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 Except in the case of a }{\b\f189\fs24 % }{\f188\fs24 specifier, the input item (or, in the case of a }{\b\f189\fs24 %n }{\f188\fs24 directive, the count of input characters) is converted to a t
ype appropriate to the conversion specifier. If the input item is not a matching sequence, the execution of the directive fails: this condition is a matching failure. Unless assignment suppression was indicated by a }{\b\f189\fs24 *}{\f188\fs24 
, the result of the conversion is placed in the object pointed to by the first argument following the }{\b\f189\fs24 format }{\f188\fs24 
argument that has not already received a conversion result. If this object does not have an appropriate type, or if the result of the conversion cannot be represented in the object, the behavior is undefined.
\par }\pard \widctlpar {\f188\fs24 
\par The length modifiers and their meanings are the same as those of fprintf.
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fscanf }{\f188\fs24 function returns the value of the macro }{\b\f189\fs24 EOF }{\f188\fs24 
if an input failure occurs before any conversion. Otherwise, the function returns the number of input items assigned, which can be fewer than provided for, or even zero, in the event of an early matching failure.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669816}fseek{\*\bkmkend _Toc439669816}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fseek(FILE *stream, long int offset, int whence);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fseek }{\f188\fs24 function sets the file position indicator for the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
. If a read or write error occurs, the error indicator for the stream is set and }{\b\f189\fs24 fseek }{\f188\fs24 fails. For a binary stream, the new position, measured in characters from the beginning of the file, is obtained by adding }{\b\f189\fs24 
offset }{\f188\fs24 to the position specified by }{\b\f189\fs24 whence}{\f188\fs24 . The specified position is the beginning of the file if }{\b\f189\fs24 whence }{\f188\fs24 is }{\b\f189\fs24 SEEK_SET}{\f188\fs24 
, the current value of the file position indicator if }{\b\f189\fs24 SEEK_CUR}{\f188\fs24 , or end-of-file if }{\b\f189\fs24 SEEK_END}{\f188\fs24 . A binary stream need not meaningfully support }{\b\f189\fs24 fseek }{\f188\fs24 calls with a }{
\b\f189\fs24 whence }{\f188\fs24 value of }{\b\f189\fs24 SEEK_END}{\f188\fs24 . For a text  stream, either }{\b\f189\fs24 offset }{\f188\fs24 shall be zero, or }{\b\f189\fs24 offset }{\f188\fs24 
shall be a value returned by an earlier successful call to the }{\b\f189\fs24 ftell }{\f188\fs24 function on a stream associated with the same file and }{\b\f189\fs24 whence }{\f188\fs24 shall be }{\b\f189\fs24 SEEK_SET}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 After determining the new position, a successful call to the }{\b\f189\fs24 fseek }{\f188\fs24 function undoes any effects of the }{\b\f189\fs24 ungetc }{\f188\fs24 
function on the stream, clears the end-of-file indicator for the stream, and then establishes the new position. After a successful }{\b\f189\fs24 fseek }{\f188\fs24 call, the next operation on an update stream may be either input or output.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 fseek }{\f188\fs24 function returns nonzero only for a request that cannot be satisfied.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669817}fsetpos{\*\bkmkend _Toc439669817}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int fsetpos(FILE *stream, const fpos_t *pos);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fsetpos }{\f188\fs24 function sets the }{\b\f189\fs24 mbstate_t }{\f188\fs24 object (if any) and file position indicator for the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
according to the value of the object pointed to by }{\b\f189\fs24 pos}{\f188\fs24 , which shall be a value obtained from an earlier successful call to the }{\b\f189\fs24 fgetpos }{\f188\fs24 fun
ction on a stream associated with the same file. If a read or write error occurs, the error indicator for the stream is set and }{\b\f189\fs24 fsetpos }{\f188\fs24 fails.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 A successful call to the }{\b\f189\fs24 fsetpos }{\f188\fs24 function undoes any effects of the }{\b\f189\fs24 ungetc }{\f188\fs24 
function on the stream, clears the end-of-file indicator for the stream, and then establishes the new parse state and position. After a successful }{\b\f189\fs24 fsetpos }{\f188\fs24 
call, the next operation on an update stream may be either input or output.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If successful, the }{\b\f189\fs24 fsetpos }{\f188\fs24 function returns zero; on failure, the }{\b\f189\fs24 fsetpos }{\f188\fs24 function returns nonzero and stores an implementation-defined positive value in }{
\b\f189\fs24 errno}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par Lcc-win32/windows sets EINVAL (bad value of stream) or EBADF (invalid file handle)
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669818}fscanf{\*\bkmkend _Toc439669818}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int fscanf(FILE * restrict stream,const char * restrict format, ...);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fscanf }{\f188\fs24 function reads input from the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 , under control of the string pointed to by }{\b\f189\fs24 format }{\f188\fs24 
that specifies the admissible input sequences and how they are to be converted for 
assignment, using subsequent arguments as pointers to the objects to receive the converted input. If there are insufficient arguments for the format,the behavior is undefined. If the format is exhausted while arguments remain, the excess arguments are eva
luated (as always) but are otherwise ignored.
\par }\pard \widctlpar {\f188\fs24 
\par For a description of the format arguments see the fprintf function.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669819}_fsopen{\*\bkmkend _Toc439669819}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par FILE *_fsopen(char *filename,char *mode,int shflag);
\par }{\b\f190\fs24 Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 This function opens a file with file sharing. Its arguments are the same as fopen, but augmented with the shflag, that can be one of\~:
\par }\pard \fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 _SH_COMPAT}{\fs24    Sets Compatibility mode for 16-bit applications
\par }{\b\fs24 _SH_DENYNO}{\fs24    Permits read and write access
\par }{\b\fs24 _SH_DENYRD}{\fs24    Denies read access to file
\par }{\b\fs24 _SH_DENYRW}{\fs24    Denies read and write access to file
\par }{\b\fs24 _SH_DENYWR}{\fs24    Denies write access to file
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Returns\~:
\par }{\f188\fs24 A pointer to the FILE structure or NULL, if the operation fails.
\par 
\par }{\b\f188\fs24 Portability\~:}{\f188\fs24 
\par Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669820}_fstat{\*\bkmkend _Toc439669820}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <sys\\stat.h>
\par #include <sys\\types.h>
\par int _fstat(int handle,struct _stat *buffer);
\par }{\b\f190\fs24 Description
\par }{\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 This function retrieves different information for the indicated file, pointed by the }{\i\f188\fs24 handle}{\f188\fs24  argument, and puts it in the indicated buffer, that points to a structure of type _stat.
\par }\pard \widctlpar {\f188\fs24 The fields of this structure indicate\~:
\par 
\par }\pard \qj\fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 st_atime}{\fs24    Time of last file access.
\par }{\b\fs24 st_ctime}{\fs24    Time of creation of file.
\par }{\b\fs24 st_dev}{\fs24    If a device, }{\i\fs24 handle}{\fs24 ; otherwise 0.
\par }\pard \qj\fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 st_mode}{\fs24    Bit mask for file-mode information. The }{\b\fs24 _S_IFCHR}{\fs24  bit is set if }{\i\fs24 handle}{\fs24  refers to a device. The }{\b\fs24 _S_IFREG}{\fs24  bit is set if }{\i\fs24 
handle}{\fs24  refers to an ordinary file. The read/write bits are set according to the file\rquote s permission mode. }{\b\fs24 _S_IFCHR}{\fs24  and other constants are defined in SYS\\STAT.H.
\par }\pard \qj\fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 st_mtime}{\fs24    Time of last modification of file.
\par }{\b\fs24 st_nlink}{\fs24    Always 1 on non-NTFS file systems.
\par }{\b\fs24 st_rdev}{\fs24    If a device, }{\i\fs24 handle}{\fs24 ; otherwise 0.
\par }{\b\fs24 st_size}{\fs24    Size of the file in bytes.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Returns\~:
\par }{\f188\fs24 Zero if succesfull, -1 on error. In the later case errno is set to EBADF\~: bad file handle.
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669821}ftell{\*\bkmkend _Toc439669821}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par long int ftell(FILE *stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ftell }{\f188\fs24 function obtains the current value of the file position indicator for the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
. For a binary stream, the value is the number of characters from the beginning of the file. For a text stream, its file position indicator contains unspecified information, usable by the }{\b\f189\fs24 fseek }{\f188\fs24 
function for returning the file position indicator for the stream to its position at the time of the }{\b\f189\fs24 ftell }{\f188\fs24 call; the difference between two such return values is not necessarily a meaningful measure of the number
 of characters written or read.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 If successful, the }{\b\f189\fs24 ftell }{\f188\fs24 function returns the current value of the file position indicator for the stream. On failure, the }{\b\f189\fs24 ftell }{\f188\fs24 function returns \'ad
1L and stores an implementation-defined positive value in }{\b\f189\fs24 errno}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par Lcc-win32 sets EINVAL (bad value of stream) or EBADF (invalid file handle).
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page {\*\bkmkstart _Toc439669822}_}ftime{\*\bkmkend _Toc439669822}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <sys\\types.h>
\par #include <sys\\timeb.h>
\par void ftime(struct _timeb *timeptr);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The _}{\b\f189\fs24 ftile }{\f188\fs24 function fills the structure timeb pointed by its argument with information about the current time.
\par }\pard \widctlpar {\f188\fs24 This structure has the following relevant fields\~:
\par }\pard \fi6\sa60\sl-240\slmult0\widctlpar {\i\fs24 dstflag}{\fs24    Nonzero if daylight savings time is currently in effect for the local time zone.
\par }{\i\fs24 millitm}{\fs24    Fraction of a second in milliseconds.
\par }\pard \qj\fi6\sa60\sl-240\slmult0\widctlpar {\i\fs24 time}{\fs24    Time in seconds since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC).
\par }\pard \fi6\sa60\sl-240\slmult0\widctlpar {\i\fs24 timezone}{\fs24    Difference in minutes, moving westward, between UTC and local time. 
\par }\pard \widctlpar {\b\f188\fs24 Returns\~:}{\f188\fs24 
\par This function returns no value
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669823}fwrite{\*\bkmkend _Toc439669823}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t fwrite(const void * restrict ptr,size_t size, size_t nmemb,FILE * restrict stream);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fwrite }{\f188\fs24 function writes, from the array pointed to by }{\b\f189\fs24 ptr}{\f188\fs24 ,up to }{\b\f189\fs24 nmemb }{\f188\fs24 elements whose size is specified by }{\b\f189\fs24 size}{
\f188\fs24 , to the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
. The file position indicator for the stream (if defined) is advanced by the number of characters successfully written. If an error occurs, the resulting value of the file position indicator for the stream is indeterminate.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 fwrite }{\f188\fs24 function returns the number of elements successfully written, which will be less than }{\b\f189\fs24 nmemb }{\f188\fs24 only if a write error is encountered.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar\tx1134 \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669824}gcvt{\*\bkmkend _Toc439669824}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par char *_gcvt(double value,int ndigits,char *buf);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\sa120\widctlpar {\fs24 Converts a floating-point number to a character string. The }{\i\fs24 value}{\fs24  parameter is the floating-point number to be converted. It produces ndigit significant digits in either printf() F format or E format.

\par }\pard \qj\sa120\widctlpar {\b\fs24 _gcvt}{\fs24  and }{\b\fs24 _fcvt}{\fs24  use a single statically allocated buffer for the conversion. Each call to one of these routines destroys the result of the previous call.
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows / Unix
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669825}getc{\*\bkmkend _Toc439669825}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int getc(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 getc }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fgetc}{\f188\fs24 , except that if it is implemented as a macro, it may evaluate }{\b\f189\fs24 stream }{\f188\fs24 
more than once, so the argument should never be an expression with side effects.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 getc }{\f188\fs24 function returns the next character from the input stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
. If the stream is at end-of-file, the end-of-file indicator for the stream is set and }{\b\f189\fs24 getc }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 . If a read error occurs, the error indicator for the stream is set and }{\b\f189\fs24 getc }{
\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 \page 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669826}getchar{\*\bkmkend _Toc439669826}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int getchar(void);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 getchar }{\f188\fs24 function is equivalent to }{\b\f189\fs24 getc }{\f188\fs24 with the argument }{\b\f189\fs24 stdin}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 getchar }{\f188\fs24 function returns the next character from the input stream pointed to by }{\b\f189\fs24 stdin}{\f188\fs24 
. If the stream is at end-of-file, the end-of-file indicator for the stream is set and }{\b\f189\fs24 getchar }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 . If a read error occurs, the error indicator for the stream is set and }{\b\f189\fs24 
getchar }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669827}getcwd{\*\bkmkend _Toc439669827}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <direct.h>
\par char *getcwd(char *buffer,int maxlen);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 getcwd }{\f188\fs24 function writes the current working directory to the buffer indicated by }{\i\f188\fs24 buffer}{\f188\fs24 , without exceeding }{\i\f188\fs24 maxlen}{\f188\fs24 
 chars. If buffer is NULL, a freshly allocated buffer is returned using malloc.
\par }\pard \qj\sa120\widctlpar {\fs24 If the current working directory is the root, the string ends with a backslash (}{\b\fs24 \\}{\fs24 
). If the current working directory is a directory other than the root, the string ends with the directory name and not with a backslash.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 Returns a pointer to the given buffer.
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows and UNIX
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669828}getdcwd{\*\bkmkend _Toc439669828}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <direct.h>
\par char *getdcwd(int drive, char *buffer,int maxlen);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 getdcwd }{\f188\fs24 function writes the current working directory for the specified drive to the buffer indicated by }{\i\f188\fs24 buffer}{\f188\fs24 , without exceeding }{\i\f188\fs24 maxlen}{\f188\fs24 
 chars. If buffer is NULL, a freshly allocated buffer is returned using malloc.
\par }\pard \qj\sa120\widctlpar {\fs24 If the current working directory is the root, the string ends with a backslash (}{\b\fs24 \\}{\fs24 ). If the curren
t working directory is a directory other than the root, the string ends with the directory name and not with a backslash.
\par }\pard \widctlpar {\f188\fs24 The drive argument can be zero (current drive), 1 (drive A) 2, (drive B), 3 (drive C) etc.
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 Returns a pointer to the given buffer.
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows. (There is no drive concept under Unix)
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669829}getdrive{\*\bkmkend _Toc439669829}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int getdrive(void);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 getdrive }{\f188\fs24 function returns an integer representing the current drive\~: 1 for the A drive, 2 for the B drive, 3 for the C drive, etc.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 Returns the number of the current drive
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }{\b\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669830}getpid{\*\bkmkend _Toc439669830}
\par \pard\plain \qj\widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }\pard \widctlpar {\b\f189\fs24 #include <process.h>
\par int _getpid(void);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\f188\fs24 The }{\b\f189\fs24 getpid }{\f188\fs24 function retrieves the current process ID.}{\fs24 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 Returns an integer with the current process ID
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows UNIX
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669831}getenv{\*\bkmkend _Toc439669831}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par char *getenv(const char *name);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 getenv }{\f188\fs24 function searches an }{\i\f191\fs24 environment list}{\f188\fs24 , provided by the host environment, for a string that matches the string pointed to by }{\b\f189\fs24 name}{
\f188\fs24 . The set of environment names and the method for altering the environment list are implementation-defined.
\par }\pard \widctlpar {\f188\fs24 The implementation shall behave as if no library function calls the }{\b\f189\fs24 getenv }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 getenv }{\f188\fs24 
function returns a pointer to a string associated with the matched list member. The string pointed to shall not be modified by the program, but may be overwritten by a subsequent call to the }{\b\f189\fs24 getenv }{\f188\fs24 function. If the specified }{
\b\f189\fs24 name }{\f188\fs24 cannot be found, a null pointer is returned.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669832}gets{\*\bkmkend _Toc439669832}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par char *gets(char *s);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 gets }{\f188\fs24 function reads characters from the input stream pointed to by }{\b\f189\fs24 stdin}{\f188\fs24 , into the array pointed to by }{\b\f189\fs24 s}{\f188\fs24 
, until end-of-file is encountered or a new-line character is read. Any new-line character is discarded, and a null character is written immediately after the last character read into the array.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 gets }{\f188\fs24 function returns }{\b\f189\fs24 s }{\f188\fs24 if successful. If end-of-file is encountered and no characters have been read into the array, the contents of the array remai
n unchanged and a null pointer is returned. If a read error occurs during the operation, the array contents are indeterminate and a null pointer is returned.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669833}gmtime{\*\bkmkend _Toc439669833}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par struct tm *gmtime(const time_t *timer);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 gmtime }{\f188\fs24 function converts the calendar time pointed to by }{\b\f189\fs24 timer }{\f188\fs24 into a broken-down time, expressed as UTC.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 gmtime }{\f188\fs24 function returns a pointer to the broken-down time, or a null pointer if the specified time cannot be converted to UTC.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669834}heapchk{\*\bkmkend _Toc439669834}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <malloc.h>
\par int _heapchk(void);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\f188\fs24 The }{\b\f189\fs24 _heapchk }{\f188\fs24 function tests whether the heap is consistent.}{\fs24 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\ri240\sa120\widctlpar {\b\fs24 _heapchk}{\fs24  returns one of the following integer manifest constants defined in MALLOC.H:
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _HEAPBADBEGIN}{\fs24    Initial header information is bad or cannot be found
\par }{\b\fs24 _HEAPBADNODE}{\fs24    Bad node has been found or heap is damaged
\par }{\b\fs24 _HEAPBADPTR}{\fs24    Pointer into heap is not valid
\par }{\b\fs24 _HEAPEMPTY}{\fs24    Heap has not been initialized
\par }{\b\fs24 _HEAPOK}{\fs24    Heap appears to be consistent
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 In addition, if an error occurs, }{\b\fs24 _heapchk}{\fs24  sets }{\b\fs24 errno}{\fs24  to }{\b\fs24 ENOSYS}{\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows}{\b\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669835}heapmin{\*\bkmkend _Toc439669835}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <malloc.h>
\par int _heamin(void);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\f188\fs24 The }{\b\f189\fs24 _heapmin }{\f188\fs24 function releases unused memory in the heap.}{\fs24 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }{\f190\fs24 Zero on success, -1 otherwise}{\b\f190\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Portability\~:
\par }\pard \qj\widctlpar {\f188\fs24 THIS FUNCTION WILL ONLY WORK UNDER WINDOWS NT. It will return -1 if called from another windows platform.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669836}heapset{\*\bkmkend _Toc439669836}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <malloc.h>
\par int _heapset(int fill);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\f188\fs24 The }{\b\f189\fs24 _heapset }{\f188\fs24 function sets all unused memory locations in the heap to the given value. This helps detect data that was written to a heap block that was already freed.}{\fs24 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\ri240\sa120\widctlpar {\b\fs24 _heapset}{\fs24  returns one of the following integer manifest constants defined in MALLOC.H:
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _HEAPBADBEGIN}{\fs24    Initial header information invalid or not found
\par }{\b\fs24 _HEAPBADNODE}{\fs24    Heap damaged or bad node found
\par }{\b\fs24 _HEAPEMPTY}{\fs24    Heap not initialized
\par }{\b\fs24 _HEAPOK}{\fs24    Heap appears to be consistent
\par }\pard \qj\widctlpar {\fs24 In addition, if an error occurs, }{\b\fs24 _heapset}{\fs24  sets }{\b\fs24 errno}{\fs24  to }{\b\fs24 ENOSYS
\par }\pard \qj\widctlpar {\b\fs24 
\par Portability
\par }\pard \qj\widctlpar {\fs24 THIS FUNCTION WILL WORK ONLY UNDER WINDOWS NT. It will fail in all other windows platforms.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669837}hypot{\*\bkmkend _Toc439669837}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double hypot(double x, double y);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 hypot }{\f188\fs24 functions compute the square root of the sum of the squares of }{\b\f189\fs24 x }{\f188\fs24 and }{\b\f189\fs24 y}{\f188\fs24 
, without undue overflow or underflow. A range error may occur.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 To maintain compatibility with Microsoft\rquote s compilers, lcc-win32 defines }{\b\f188\fs24 _hypot}{\f188\fs24  as an alternative equivalent name for }{\b\f188\fs24 hypot}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 hypot }{\f188\fs24 functions return the value of the square root of the sum of the squares.
\par }\pard \widctlpar {\b\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 
\par #include <math.h>
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    double x = 6.0, y = 4.0;
\par 
\par    printf( "If a right triangle has sides %2.1f and %2.1f, "
\par            "its hypotenuse is %2.1f\\n", x, y, hypot( x, y ) );
\par \}
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Output\~:
\par }\pard \widctlpar {\f11 
\par If a right triangle has sides 6.0 and 4.0, its hypotenuse is 7.2
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669838}isalnum iswalnum{\*\bkmkend _Toc439669838}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isalnum(int c);
\par int iswalnum(wint_t c)\~;
\par 
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 isalnum }{\f188\fs24 function tests for any character for which }{\b\f189\fs24 isalpha }{\f188\fs24 or }{\b\f189\fs24 isdigit }{\f188\fs24 is true.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669839}isalpha{\*\bkmkend _Toc439669839}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isalpha(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 isalpha }{\f188\fs24 function tests for any character for which }{\b\f189\fs24 isupper }{\f188\fs24 or }{\b\f189\fs24 islower }{\f188\fs24 
is true, or any character that is one of a locale-specific set of alphabetic characters for which none of }{\b\f189\fs24 iscntrl}{\f188\fs24 , }{\b\f189\fs24 isdigit}{\f188\fs24 , }{\b\f189\fs24 ispunct}{\f188\fs24 ,or}{\b\f189\fs24 isspace }{\f188\fs24 
is true.}{\f188\fs18  }{\f188\fs24 In the }{\b\f189\fs24 "C" }{\f188\fs24 locale, }{\b\f189\fs24 isalpha }{\f188\fs24 returns true only for the characters for which }{\b\f189\fs24 isupper }{\f188\fs24 or }{\b\f189\fs24 islower }{\f188\fs24 is true.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669840}isatty{\*\bkmkend _Toc439669840}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int _isatty(int handle);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 This function tests whether the given file handle is a character device (a console, a printer or a serial port).
\par }\pard \qj\widctlpar {\b\f188\fs24 Returns\~:
\par }{\f188\fs24 Non zero if the file handle is associated with a character device, zero otherwise.
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows UNIX
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669841}iscntrl{\*\bkmkend _Toc439669841}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int iscntrl(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar The {\f189 iscntrl }function tests for any control character.
\par \pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669842}isdigit{\*\bkmkend _Toc439669842}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isdigit(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 isdigit }{\f188\fs24 function tests for any decimal-digit character , i.e. characters between 0 and 9 inclusive.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669843}isgraph{\*\bkmkend _Toc439669843}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isgraph(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 isgraph }{\f188\fs24 function tests for any printing character except space (}{\b\f189\fs24 \rquote  \rquote }{\f188\fs24 ).
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669844}islower{\*\bkmkend _Toc439669844}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 
\par #include <ctype.h>
\par int islower(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 islower }{\f188\fs24 function tests for any character that is a lowercase letter or is one of a locale-specific set of characters for which none of }{\b\f189\fs24 iscntrl}{\f188\fs24 , }{\b\f189\fs24 
isdigit}{\f188\fs24 , }{\b\f189\fs24 ispunct}{\f188\fs24 ,or }{\b\f189\fs24 isspace }{\f188\fs24 is true. In the }{\b\f189\fs24 "C" }{\f188\fs24 locale, }{\b\f189\fs24 islower }{\f188\fs24 returns true only for the characters defined as lowercase letters

\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669845}iso646.h{\*\bkmkend _Toc439669845}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\f188\fs24 The header }{\b\f189\fs24 <iso646.h> }{\f188\fs24 defines the following eleven macros
\par }\pard \widctlpar 
\par \pard \widctlpar {\f11 #define and &&
\par #define and_eq &=
\par #define bitand &
\par #define bitor |
\par #define compl ~
\par #define not !
\par #define not_eq !=
\par #define or ||
\par #define or_eq |=
\par #define xor ^
\par #define xor_eq ^=
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669846}isprint{\*\bkmkend _Toc439669846}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isprint(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 isprint }{\f188\fs24 function tests for any printing character including space (}{\b\f189\fs24 \rquote  \rquote }{\f188\fs24 ).
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669847}ispunct{\*\bkmkend _Toc439669847}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int ispunct(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ispunct }{\f188\fs24 function tests for any printing character that is one of a locale-specific set of punctuation characters for which neither }{\b\f189\fs24 isspace }{\f188\fs24 nor }{\b\f189\fs24 
isalnum }{\f188\fs24 is true.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669848}isspace{\*\bkmkend _Toc439669848}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isspace(int c);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 isspace }{\f188\fs24 function tests for any character that is a standard white-space character or is one of a locale-specific set of characters for which }{\b\f189\fs24 isalnum }{\f188\fs24 
is false. The standard white-space characters are the following: space (}{\b\f189\fs24 \rquote  \rquote }{\f188\fs24 ), form feed (}{\b\f189\fs24 \rquote \\f\rquote }{\f188\fs24 ), new-line (}{\b\f189\fs24 \rquote \\n\rquote }{\f188\fs24 
), carriage return (}{\b\f189\fs24 \rquote \\r\rquote }{\f188\fs24 ), horizontal tab (}{\b\f189\fs24 \rquote \\t\rquote }{\f188\fs24 ), and vertical tab (}{\b\f189\fs24 \rquote \\v\rquote }{\f188\fs24 ). In the }{\b\f189\fs24 "C" }{\f188\fs24 locale, }{
\b\f189\fs24 isspace }{\f188\fs24 returns true only for the standard white-space characters.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669849}isupper{\*\bkmkend _Toc439669849}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isupper(int c);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 isupper }{\f188\fs24 function tests for any character that is an uppercase letter or is one of a locale-specific set of characters for which none of }{\b\f189\fs24 iscntrl}{\f188\fs24 , }{\b\f189\fs24 
isdigit}{\f188\fs24 , }{\b\f189\fs24 ispunct}{\f188\fs24 ,or }{\b\f189\fs24 isspace }{\f188\fs24 is true. In the }{\b\f189\fs24 "C" }{\f188\fs24 locale, }{\b\f189\fs24 isupper }{\f188\fs24 returns true only for the characters defined as uppercase letters.

\par }\pard \qj\widctlpar {\f188\fs24  
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669850}itoa{\*\bkmkend _Toc439669850}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int itoa(int value, char *string, int radix);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 _itoa}{\fs24  function converts the digits of the given }{\i\fs24 value}{\fs24  argument to a null-terminated character string and stores the result (up to 17 bytes) in }{\i\fs24 string}{\fs24 . If }{\i\fs24 radix
}{\fs24  equals 10 and }{\i\fs24 value}{\fs24  is negative, the first character of the stored string is the minus sign ( \endash  )
\par }\pard \qj\widctlpar {\b\fs24 Returns\~:}{\fs24 
\par Returns a pointer to the given string.
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669851}_j0,_ j1,_ jn{\*\bkmkend _Toc439669851}
\par \pard\plain \qj\widctlpar \f4\fs20\lang1036 {\b\f188\fs24 Synopsis\~:
\par 
\par }\pard \qj\widctlpar {\f26 #include <math.h>
\par double _j0(double x)\~;
\par double _j1(double x)\~;
\par double _jn(int n,double x)\~;
\par }\pard \qj\widctlpar 
\par \pard \qj\widctlpar {\b\fs24 Description\~:
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 This functions compute the Bessel functions of the first kind for their arguments, orders 0, 1, and N respectively.
\par }\pard \qj\widctlpar {\f188\fs24 
\par Returns\~:
\par Returns the bessel function value
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669852}isxdigit{\*\bkmkend _Toc439669852}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int isxdigit(int c);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 isxdigit }{\f188\fs24 function tests for any hexadecimal-digit character.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669853}_kbhit{\*\bkmkend _Toc439669853}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <conio.h>
\par int _kbhit(void)\~;
\par }{\b\f190\fs24 Description
\par }{\f190\fs24 This routine returns non zero if a key has been pressed, zero otherwise.}{\b\f190\fs24 
\par Returns
\par }{\f188\fs24 Non zero\~: Keyboard has been hit, zero, the user didn\rquote t touch the keyboard.
\par }{\b\f188\fs24 Portability\~:}{\f188\fs24 
\par Strictly windows function.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669854}ldexp{\*\bkmkend _Toc439669854}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double ldexp(double x, int exp);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ldexp }{\f188\fs24 functions multiply a floating-point number by an integral power of 2. A range error may occur.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 ldexp }{\f188\fs24 functions return the value of }{\b\f189\fs24 x }{\f1\fs24 \'b4 }{\f188\fs24 2 }{\b\f189\fs16 exp }{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par }\pard \widctlpar {\f11 #include <math.h>
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    double x = 3.0, y;
\par    int p = 4;
\par 
\par    y = ldexp( x, p );
\par    printf( "%2.1f times two to the power of %d is %2.1f\\n", x, p, y );
\par \}
\par 3.0 times two to the power of 4 is 48.0
\par 
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669855}localeconv{\*\bkmkend _Toc439669855}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <locale.h>
\par struct lconv *localeconv(void);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 localeconv }{\f188\fs24 function sets the components of an object with type }{\b\f189\fs24 struct lconv }{\f188\fs24 
with values appropriate for the formatting of numeric quantities (monetary and otherwise) according to the rules of the current locale.
\par }\pard \qj\widctlpar {\f188\fs24 The members of the structure with type }{\b\f189\fs24 char * }{\f188\fs24 are pointers to strings, any of which (except }{\b\f189\fs24 decimal_point}{\f188\fs24 ) can point to }{\b\f189\fs24 ""}{\f188\fs24 
, to indicate that the value is not available in the current locale or is of zero length. Apart from }{\b\f189\fs24 grouping }{\f188\fs24 and }{\b\f189\fs24 mon_grouping}{\f188\fs24 
, the strings shall start and end in the initial shift state. The members with type }{\b\f189\fs24 char }{\f188\fs24 are nonnegative numbers, any of which can be }{\b\f189\fs24 CHAR_MAX }{\f188\fs24 
to indicate that the value is not available in the current locale. The members include the following:
\par }\pard \widctlpar {\f188\fs24 
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char *decimal_point }{\f188\fs24 The decimal-point character used to format nonmonetary quantities.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char *thousands_sep }{\f188\fs24 
The character used to separate groups of digits before the decimal-point character in formatted nonmonetary quantities.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char *grouping }{\f188\fs24 
A string whose elements indicate the size of each group of digits in formatted nonmonetary quantities. }{\f1\fs24 *
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char *mon_decimal_point }{\f188\fs24 The decimal-point used to format monetary quantities.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char *mon_thousands_sep }{\f188\fs24 The separator for groups of digits before the decimal-point in formatted monetary quantities.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char *mon_grouping }{\f188\fs24 A string whose elements indicate the size of each group of digits in formatted monetary quantities.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char *positive_sign }{\f188\fs24 The string used to indicate a nonnegative-valued formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char *negative_sign }{\f188\fs24 The string used to indicate a negative-valued formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char *currency_symbol }{\f188\fs24 The local currency symbol applicable to the current locale.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char frac_digits }{\f188\fs24 The number of fractional digits (those after the decimal-point) to be displayed in a locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char p_cs_precedes }{\f188\fs24 Set to 1 or 0 if the }{\b\f189\fs24 currency_symbol }{\f188\fs24 respectively precedes or succeeds the value for a nonnegative locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char n_cs_precedes }{\f188\fs24 Set to 1 or 0 if the }{\b\f189\fs24 currency_symbol }{\f188\fs24 respectively precedes or succeeds the value for a negative locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char p_sep_by_space }{\f188\fs24 Set to a value indicating the separation of the }{\b\f189\fs24 currency_symbol}
{\f188\fs24 ,the sign string, and the value for a nonnegative locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char n_sep_by_space }{\f188\fs24 Set to a value indicating the separation of the }{\b\f189\fs24 currency_symbol}{\f188\fs24 ,the sign string, and the value for a negative locally formatted monetary quantity.

\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char p_sign_posn }{\f188\fs24 Set to a value indicating the positioning of the  }{\b\f189\fs24 positive_sign }{
\f188\fs24 for a nonnegative locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char n_sign_posn }{\f188\fs24 Set to a value indicating the positioning of the  }{\b\f189\fs24 negative_sign }{\f188\fs24 for a negative locally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char *int_curr_symbol }{\f188\fs24 
The international currency symbol applicable to the current locale. The first three characters contain the alphabetic international currency symbol in accordance with those specified in ISO 4217:1995. The fourth character(immediately preceding the null ch
aracter) is the character used to separate the international currency symbol from the monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char int_frac_digits }{\f188\fs24 The number of fractional
 digits (those after the decimal-point) to be displayed in an internationally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char int_p_cs_precedes }{\f188\fs24 Set to 1 or 0 if the }{\b\f189\fs24 int_currency_symbol }{\f188\fs24 
respectively precedes or succeeds the value for a nonnegative internationally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char int_n_cs_precedes }{\f188\fs24 Set to 1 or 0 if the }{\b\f189\fs24 int_currency_symbol }{\f188\fs24 respectively precedes or succeeds the value for a negative internationally formatted monetary quantity.

\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char int_p_sep_by_space }{\f188\fs24 Set to a value indicating the separation of the }{\b\f189\fs24 
int_currency_symbol}{\f188\fs24 ,the sign string, and the value for a nonnegative internationally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char int_n_sep_by_space }{\f188\fs24 Set to a value indicating the separation of the }{\b\f189\fs24 int_currency_symbol}{\f188\fs24 
,the sign string, and the value for a negative internationally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f189\fs24 char int_p_sign_posn }{\f188\fs24 Set to a value indicating the positioning of the }{\b\f189\fs24 positive_sign 
}{\f188\fs24 for a nonnegative internationally formatted monetary quantity.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f189\fs24 char int_n_sign_posn }{\f188\fs24 Set to a value indicating the positioning of the }{\b\f189\fs24 negative_sign }{\f188\fs24 for a negative internationally formatted monetary quantity.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The elements of }{\b\f189\fs24 grouping }{\f188\fs24 and }{\b\f189\fs24 mon_grouping }{\f188\fs24 are interpreted according to the following:
\par }\pard \widctlpar {\b\f189\fs24 
\par }\pard \widctlpar {\b\f189\fs24 CHAR_MAX }{\f188\fs24 No further grouping is to be performed.
\par }{\b\f189\fs24 0 }{\f188\fs24 The previous element is to be repeatedly used for the remainder of the digits.
\par }\pard \widctlpar {\i\f191\fs24 other }{\f188\fs24 The integer value is the number of digits that compose the current group.
\par 
\par }\pard \qj\widctlpar {\f188\fs24 The next element is examined to determine the size of the next group of digits before the current group.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The values of }{\b\f189\fs24 p_sep_by_space}{\f188\fs24 , }{\b\f189\fs24 n_sep_by_space}{\f188\fs24 , }{\b\f189\fs24 int_p_sep_by_space}{\f188\fs24 , and }{\b\f189\fs24 int_n_sep_by_space }{\f188\fs24 
are interpreted according to the following:
\par }\pard \widctlpar {\b\f189\fs24 0 }{\f188\fs24 No space separates the currency symbol and value.}{\b\f189\fs24  
\par 1 }{\f188\fs24 A space separates the currency symbol and value.
\par }{\b\f189\fs24 2 }{\f188\fs24 A space separates the currency symbol and the sign string, if adjacent.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The values of }{\b\f189\fs24 p_sign_posn}{\f188\fs24 , }{\b\f189\fs24 n_sign_posn}{\f188\fs24 , }{\b\f189\fs24 int_p_sign_posn}{\f188\fs24 ,and }{\b\f189\fs24 int_n_sign_posn }{\f188\fs24 
are interpreted according to the following:
\par }\pard \widctlpar {\b\f189\fs24 0 }{\f188\fs24 Parentheses surround the quantity and currency symbol.
\par }{\b\f189\fs24 1 }{\f188\fs24 The sign string precedes the quantity and currency symbol.
\par }{\b\f189\fs24 2 }{\f188\fs24 The sign string succeeds the quantity and currency symbol.
\par }{\b\f189\fs24 3 }{\f188\fs24 The sign string immediately precedes the currency symbol.
\par }{\b\f189\fs24 4 }{\f188\fs24 The sign string immediately succeeds the currency symbol.
\par }\pard \qj\widctlpar {\f188\fs24 7 The implementation shall behave as if no library function calls the }{\b\f189\fs24 localeconv }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 localeconv }{\f188\fs24 
function returns a pointer to the filled-in object. The structure pointed to by the return value shall not be modified by the program, but may be overwritten by a subsequent call to the }{\b\f189\fs24 localeconv }{\f188\fs24 functi
on. In addition, calls to the }{\b\f189\fs24 setlocale }{\f188\fs24 function with categories }{\b\f189\fs24 LC_ALL}{\f188\fs24 , }{\b\f189\fs24 LC_MONETARY}{\f188\fs24 ,or}{\b\f189\fs24 LC_NUMERIC }{\f188\fs24 may overwrite the contents of the structure.

\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669856}localtime{\*\bkmkend _Toc439669856}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par struct tm *localtime(const time_t *timer);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 localtime }{\f188\fs24 function converts the calendar time pointed to by }{\b\f189\fs24 timer }{\f188\fs24 into a broken-down time, expressed as local time.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 localtime }{\f188\fs24 function returns a pointer to the broken-down time, or a null pointer if the specified time cannot be converted to local time.
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669857}log{\f190 {\*\bkmkend _Toc439669857}
\par }\pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double log(double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 log }{\f188\fs24 function compute the base-}{\i\f191\fs24 e }{\f188\fs24 (natural) logarithm of }{\b\f189\fs24 x}{\f188\fs24 
. A domain error occurs if the argument is negative. A range error may occur if the argument is zero.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 log }{\f188\fs24 function return the base-}{\i\f191\fs24 e }{\f188\fs24 logarithm value.
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f0\fs24 
\par }{\f11 #include <math.h>}{\f0\fs24 
\par }{\f11 #include <stdio.h>}{\f0\fs24 
\par 
\par }{\f11 void main( void )}{\f0\fs24 
\par }{\f11 \{}{\f0\fs24 
\par }{\f11    double x = 9000.0;}{\f0\fs24 
\par }{\f11    double y;}{\f0\fs24 
\par 
\par }{\f11    y = log( x );}{\f0\fs24 
\par }{\f11    printf( "log( %.2f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11    y = log10( x );}{\f0\fs24 
\par }{\f11    printf( "log10( %.2f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11 \}
\par log( 6000.00 ) = 8.699515
\par log10( 6000.00 ) = 3.778151
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669858}log10{\*\bkmkend _Toc439669858}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double log10(double x);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 log10 }{\f188\fs24 function computes the base-10 (common) logarithm of }{\b\f189\fs24 x}{\f188\fs24 . A domain error occurs if the argument is negative. A range error may occur if the argument is zero.

\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 log10 }{\f188\fs24 functions return the base-10 logarithm value.
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f0\fs24 
\par }{\f11 #include <math.h>}{\f0\fs24 
\par }{\f11 #include <stdio.h>}{\f0\fs24 
\par 
\par }{\f11 void main( void )}{\f0\fs24 
\par }{\f11 \{}{\f0\fs24 
\par }{\f11    double x = 9000.0;}{\f0\fs24 
\par }{\f11    double y;}{\f0\fs24 
\par 
\par }{\f11    y = log( x );}{\f0\fs24 
\par }{\f11    printf( "log( %.2f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11    y = log10( x );}{\f0\fs24 
\par }{\f11    printf( "log10( %.2f ) = %f\\n", x, y );}{\f0\fs24 
\par }{\f11 \}
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f11  log( 6000.00 ) = 8.699515
\par }\pard \widctlpar {\f11  log10( 6000.00 ) = 3.778151
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669859}longjmp{\*\bkmkend _Toc439669859}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <setjmp.h>
\par void longjmp(jmp_buf env, int val);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 longjmp }{\f188\fs24 function restores the environment saved by the most recent invocation of the }{\b\f189\fs24 setjmp }{\f188\fs24 macro in the same invocation of the program with the corresponding }{
\b\f189\fs24 jmp_buf }{\f188\fs24 argument. If there has been no such invocation, or if the function containing the invocation of the }{\b\f189\fs24 setjmp }{\f188\fs24 macro has terminated execution }{\f188\fs18 195) }{\f188\fs24 
in the interim, or if the invocation of the }{\b\f189\fs24 setjmp }{\f188\fs24 macro was within the scope of an identifier with variably modified type and execution has left that scope in the interim, the behavior is undefined.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 All accessible objects have values as of the time }{\b\f189\fs24 longjmp }{\f188\fs24 
was called, except that the values of objects of automatic storage duration that are local to the function containing the invocation of the corresponding }{\b\f189\fs24 setjmp }{\f188\fs24 
macro that do not have volatile-qualified type and have been changed between the }{\b\f189\fs24 setjmp }{\f188\fs24 invocation and }{\b\f189\fs24 longjmp }{\f188\fs24 call are indeterminate.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 After }{\b\f189\fs24 longjmp }{\f188\fs24 is completed, program execution continues as if the corresponding invocation of the }{\b\f189\fs24 setjmp }{\f188\fs24 macro had just returned the value specified by }{
\b\f189\fs24 val}{\f188\fs24 . The }{\b\f189\fs24 longjmp }{\f188\fs24 function cannot cause the }{\b\f189\fs24 setjmp }{\f188\fs24 macro to return the value 0; if }{\b\f189\fs24 val }{\f188\fs24 is 0,the }{\b\f189\fs24 setjmp }{\f188\fs24 
macro returns the value 1.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669860}malloc{\*\bkmkend _Toc439669860}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void *malloc(size_t size);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 malloc }{\f188\fs24 function allocates space for an object whose size is specified by }{\b\f189\fs24 size }{\f188\fs24 and whose value is indeterminate.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 malloc }{\f188\fs24 function returns either a null pointer or a pointer to the allocated space.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 Under lcc-win32, t}{\fs24 he following functions and their wide-character counterparts can also call }{\b\fs24 malloc}{\fs24 :}{\f5\fs24 
\par }\pard \widctlpar {\b\f5 
\par }\pard \widctlpar {\b\f5 calloc fscanf _getw setvbuf _exec}{\f5  functions }{\b\f5 fseek _popen _spawn}{\f5  functions }{\b\f5 
fgetc fsetpos printf _strdup _fgetchar _fullpath putc system fgets fwrite putchar _tempnam fprintf getc _putenv ungetc fputc getchar puts vfprintf _fputchar}{\f5\fs24 \tab }{\b\f5 _getcwd _putw vprintf fputs _getdcwd scanf fread gets _searchenv
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669861}makepath{\*\bkmkend _Toc439669861}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 void makepath(char *path,const char *drive,const char *dir,const char *fname,const char *ext)\~;
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 makepath }{\f188\fs24 function creates a single path from its arguments and stores it in the path argument. The arguments are\~:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f188\fs24 drive}{\f188\fs24 \~
: Contains a letter corresponding to the desired drive and an optional trailing colon. If null, no drive letter and colon appear in the result.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f188\fs24 dir}{\f188\fs24 \~: Contains the specification of a directory. The trailing path is optional, and both forward and backward slashes can be used.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\f188\fs24 fname}{\f188\fs24 \~: Contains the file name without any path or drive components.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\f188\fs24 ext}{\f188\fs24 \~: contains the extension without the period.
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The result is stored in the }{\b\f188\fs24 path}{\f188\fs24  argument, that should be no longuer than MAX_PATH, defined in stdlib.h
\par }\pard \qj\widctlpar {\b\f188\fs24 Returns\~:}{\f188\fs24 
\par The _makepath function returns no value.
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }\pard \widctlpar {\b\f190\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\b0 \page }{\*\bkmkstart _Toc439669862}_mbbtombc{\*\bkmkend _Toc439669862}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <mbstring.h>
\par unsigned short mbbtombc(unsigned short c)\~;
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 mbbtombc }{\fs24 function converts a given single-byte multibyte character to a corresponding double-byte multibyte character. Characters must be within the range 0x20 \endash  0x7E or 0xA1 \endash 
 0xDF to be converted.
\par }\pard \qj\ri240\sa120\widctlpar {\b\fs24 Returns\~:}{\fs24 
\par If successful, it returns a multi byte character. Otherwise it returns c.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\b0 \page }{\*\bkmkstart _Toc439669863}_mbbtype{\*\bkmkend _Toc439669863}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <mbstring.h>
\par #include <mbctype.h>
\par int mbbtype(unsigned char c,int type)\~;
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 mbbtype }{\fs24 function returns the type of byte within a string. This decision is context-sensitive as specified by the value of }{\i\fs24 type}{\fs24 , which provides the control test condition. }{
\i\fs24 type}{\fs24  is the type of the previous byte in the string.The manifest constants in the following table are defined in MBCTYPE.H. 
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 
\par }{\b\fs24 Returns\~:}{\fs24 
\par }\pard \widctlpar {\fs24 If successful, it returns a multi byte character. Otherwise it returns c.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669864}_mbccpy{\*\bkmkend _Toc439669864}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <mbstring.h>
\par void _mbccpy(unsigned char * s1,unsigned char * s2);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcpy }{\f188\fs24 function copies the multibyte string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 (including the terminating null character) into the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. If the s1 argument doesn\rquote t point to the lead byte of a multiple character no copy is performed.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 mbccpy }{\f188\fs24 function returns no value
\par }\pard \widctlpar {\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }\pard \widctlpar {\b\f5 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\b0 \page }{\*\bkmkstart _Toc439669865}mblen{\*\bkmkend _Toc439669865}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f189\fs24 #include <stdlib.h>
\par int mblen(const char *s, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 s}{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 mblen }{\f188\fs24 function determines the number of bytes contained in the multibyte character pointed to by }{\b\f189\fs24 s}{\f188\fs24 
. Except that the shift state of the }{\b\f189\fs24 mbtowc }{\f188\fs24 function is not affected, it is equivalent to }{\b\f189\fs24 mbtowc((wchar_t *)0, s, n);
\par }\pard \widctlpar {\f188\fs24 The implementation shall behave as if no library function calls the }{\b\f189\fs24 mblen }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 s }{\f188\fs24 is a null pointer, the }{\b\f189\fs24 mblen }{\f188\fs24 
function returns a nonzero or zero value, if multibyte character encodings, respectively, do or do not have state-dependent encodings. If }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 mblen }{\f188\fs24 
function either returns 0 (if }{\b\f189\fs24 s }{\f188\fs24 points to the null character), or returns the number of bytes that are contained in the multibyte character (if the next }{\b\f189\fs24 n }{\f188\fs24 
or fewer bytes form a valid multibyte character), or returns \'ad1 (if they do not form a valid multibyte character).
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669866}mbstowcs{\*\bkmkend _Toc439669866}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t mbstowcs(wchar_t * restrict pwcs,const char * restrict s,size_t n);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 mbstowcs }{\f188\fs24 function converts a sequence of multibyte characters that begins in the initial shift state from the array pointed to by }{\b\f189\fs24 s }{\f188\fs24 
into a sequence of corresponding codes and stores not more than }{\b\f189\fs24 n }{\f188\fs24 codes into the array pointed to by }{\b\f189\fs24 pwcs}{\f188\fs24 
. No multibyte characters that follow a null character (which is converted into a code with value zero) will be examined or converted. Each multibyte character is converted as if by a call to the }{\b\f189\fs24 mbtowc }{\f188\fs24 
function, except that the shift state of the }{\b\f189\fs24 mbtowc }{\f188\fs24 function is not affected.
\par }\pard \qj\widctlpar {\f188\fs24 No more than }{\b\f189\fs24 n }{\f188\fs24 elements will be modified in the array pointed to by }{\b\f189\fs24 pwcs}{\f188\fs24 . If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If an invalid multibyte character is encountered, the }{\b\f189\fs24 mbstowcs }{\f188\fs24 function returns }{\b\f189\fs24 (size_t)-1}{\f188\fs24 . Otherwise, the }{\b\f189\fs24 mbstowcs }{\f188\fs24 
function returns the number of array elements modified, not including a terminating zero code, if any.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 \page 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669867}mbtowc{\*\bkmkend _Toc439669867}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int mbtowc(wchar_t * restrict pwc, const char * restrict s,
\par size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 mbtowc }{\f188\fs24 function determines the number of bytes that are contained in the multibyte character pointed to by }{\b\f189\fs24 s}{
\f188\fs24 . It then determines the code for the value of type }{\b\f189\fs24 wchar_t }{\f188\fs24 that corresponds to that multibyte character. (The value of the code corresponding to the null character is zero.) If the multibyte character is valid and }
{\b\f189\fs24 pwc }{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 mbtowc }{\f188\fs24 function stores the code in the object pointed to by }{\b\f189\fs24 pwc}{\f188\fs24 . At most }{\b\f189\fs24 n }{\f188\fs24 bytes of the array pointed to by }{
\b\f189\fs24 s }{\f188\fs24 will be examined. The implementation shall behave as if no library function calls the }{\b\f189\fs24 mbtowc }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 s }{\f188\fs24 is a null pointer, the }{\b\f189\fs24 mbtowc }{\f188\fs24 
function returns a nonzero or zero value, if multibyte character encodings, respectively, do or do not have state-dependent encodings. If }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 mbtowc }{\f188\fs24 
function either returns 0 (if }{\b\f189\fs24 s }{\f188\fs24 points to the null character), or returns the number of bytes that are contained in the converted multibyte character (if the next }{\b\f189\fs24 n }{\f188\fs24 
or fewer bytes form a valid multibyte character), or returns \'ad1 (if they do not form a valid multibyte character).
\par }\pard \widctlpar {\f188\fs24 In no case will the value returned be greater than }{\b\f189\fs24 n }{\f188\fs24 or the value of the }{\b\f189\fs24 MB_CUR_MAX }{\f188\fs24 macro.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669868}memchr{\*\bkmkend _Toc439669868}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par void *memchr(const void *s, int c, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memchr }{\f188\fs24 function locates the first occurrence of }{\b\f189\fs24 c }{\f188\fs24 (converted to an }{\b\f189\fs24 unsigned char}{\f188\fs24 ) in the initial }{\b\f189\fs24 n }{\f188\fs24 
characters (each interpreted as }{\b\f189\fs24 unsigned char}{\f188\fs24 ) of the object pointed to by }{\b\f189\fs24 s}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memchr }{\f188\fs24 function returns a pointer to the located character, or a null pointer if the character does not occur in the object.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669869}memcmp{\*\bkmkend _Toc439669869}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int memcmp(const void *s1, const void *s2, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memcmp }{\f188\fs24 function compares the first }{\b\f189\fs24 n }{\f188\fs24 characters of the object pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the first }{\b\f189\fs24 n }{\f188\fs24 
characters of the object pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memcmp }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the object pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the object pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669870}memcpy{\*\bkmkend _Toc439669870}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par void *memcpy(void * restrict s1, const void * restrict s2,
\par size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memcpy }{\f188\fs24 function copies }{\b\f189\fs24 n }{\f188\fs24 characters from the object pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 into the object pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 memcpy }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669871}memmove{\*\bkmkend _Toc439669871}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par void *memmove(void *s1, const void *s2, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 memmove }{\f188\fs24 function copies }{\b\f189\fs24 n }{\f188\fs24 characters from the object pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 into the object pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. Copying takes place as if the }{\b\f189\fs24 n }{\f188\fs24 characters from the object pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 are first copied into a temporary array of }{\b\f189\fs24 n }{\f188\fs24 
characters that does not overlap the objects pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 and }{\b\f189\fs24 s2}{\f188\fs24 , and then the }{\b\f189\fs24 n }{\f188\fs24 characters from the temporary array are copied into the object pointed to by }{
\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 memmove }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669872}memset{\*\bkmkend _Toc439669872}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par void *memset(void *s, int c, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 memset }{\f188\fs24 function copies the value of }{\b\f189\fs24 c }{\f188\fs24 (converted to an }{\b\f189\fs24 unsigned char}{\f188\fs24 ) into each of the first }{\b\f189\fs24 n }{\f188\fs24 
characters of the object pointed to by }{\b\f189\fs24 s}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 memset }{\f188\fs24 function returns the value of }{\b\f189\fs24 s}{\f188\fs24 .
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669873}modf{\*\bkmkend _Toc439669873}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double modf(double value, double *iptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 modf }{\f188\fs24 function breaks the argument }{\b\f189\fs24 value }{\f188\fs24 
into integral and fractional parts, each of which has the same type and sign as the argument. It stores the integral part (in floating-point format) in the object pointed to by }{\b\f189\fs24 iptr}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 modf }{\f188\fs24 functions return the value of the signed fractional part of }{\b\f189\fs24 value}{\f188\fs24 .
\par }\pard \widctlpar {\b\f188\fs24 Example\~:}{\f188\fs24 
\par }\pard \widctlpar 
\par \pard \li180\ri240\sl-220\slmult0\widctlpar {\f11 /* MODF.C */}{\f5\fs24 
\par 
\par }{\f11 #include <math.h>}{\f5\fs24 
\par }{\f11 #include <stdio.h>}{\f5\fs24 
\par 
\par }{\f11 void main( void )}{\f5\fs24 
\par }{\f11 \{}{\f5\fs24 
\par }{\f11    double x, y, n;}{\f5\fs24 
\par 
\par }{\f11    x = -23.97766553;      /* Divide x into its fractional */}{\f5\fs24 
\par }{\f11    y = modf( x, &n );     /* and integer parts            */}{\f5\fs24 
\par 
\par }{\f11    printf( "For %f, the fraction is %f and the integer is %.f\\n", }{\f5\fs24 
\par }{\f11            x, y, n );}{\f5\fs24 
\par }{\f11 \}}{\f5\fs10  }{\f5\fs24 
\par }\pard \li180\ri240\sb120\sa120\widctlpar {\b\fs24 Output}{\f5\fs24 
\par }\pard \sl-120\slmult0\widctlpar {\f5\fs2   }{\f5\fs24 
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f11 For -23.977666, the fraction is -0.977666 and the integer is -23
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669874}mktime{\*\bkmkend _Toc439669874}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par time_t mktime(struct tm *timeptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 mktime }{\f188\fs24 function converts the broken-down time, expressed as local time, in the structure pointed to by }{\b\f189\fs24 timeptr }{\f188\fs24 
into a calendar time value with the same encoding as that of the values returned by the }{\b\f189\fs24 time }{\f188\fs24 function. The original values of the }{\b\f189\fs24 tm_wday }{\f188\fs24 and }{\b\f189\fs24 tm_yday }{\f188\fs24 
components of the structure are ignored, and the original values of the other components are not restricted to the ranges indicated above.}{\f188\fs18  }{\f188\fs24 On successful completion, the values of the }{\b\f189\fs24 tm_wday }{\f188\fs24 and }{
\b\f189\fs24 tm_yday }{\f188\fs24 components of the structure are set appropriately, and the other components are set to represent the specified calendar time, but with their values forced to the ranges indicated above; the final value of }{\b\f189\fs24 
tm_mday }{\f188\fs24 is not set until }{\b\f189\fs24 tm_mon }{\f188\fs24 and }{\b\f189\fs24 tm_year }{\f188\fs24 are determined.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 If the call is successful, a second call to the }{\b\f189\fs24 mktime }{\f188\fs24 function with the resulting }{\b\f189\fs24 struct tm }{\f188\fs24 
value shall always leave it unchanged and return the same value as the first call. Furthermore, if the normalized time is exactly representable as a }{\b\f189\fs24 time_t }{\f188\fs24 
value, then the normalized broken-down time and the broken-down time generated by converting the result of the }{\b\f189\fs24 mktime }{\f188\fs24 function by a call to }{\b\f189\fs24 localtime }{\f188\fs24 shall be identical. 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 mktime }{\f188\fs24 function returns the specified calendar time encoded as a value of type }{\b\f189\fs24 time_t}{\f188\fs24 . If the calendar time cannot be represented, the function returns the value 
}{\b\f189\fs24 (time_t)-1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669875}modf{\*\bkmkend _Toc439669875}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double modf(double value, double *iptr);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 modf }{\f188\fs24 function breaks the argument }{\b\f189\fs24 value }{\f188\fs24 
into integral and fractional parts, each of which has the same type and sign as the argument. They store the integral part (in floating-point format) in the object pointed to by }{\b\f189\fs24 iptr}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 modf }{\f188\fs24 functions return the value of the signed fractional part of }{\b\f189\fs24 value}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669876}_open{\*\bkmkend _Toc439669876}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int _open(const char *filename,int oflag,[int pmode])\~;
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 open }{\fs24 function returns a file handle for the opened file. A return value of \endash 1 indicates an error, in which case }{\b\fs24 errno}{\fs24  is set to one of the following values:
\par }\pard \qj\sa60\sl-240\slmult0\widctlpar {\b\fs24 EACCES}{\fs24   Tried to open read-only file for writing, or file\rquote s sharing mode does not allow specified operations, or given path is directory
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 EEXIST}{\fs24    }{\b\fs24 _O_CREAT}{\fs24  and }{\b\fs24 _O_EXCL}{\fs24  flags specified, but }{\i\fs24 filename}{\fs24  already exists
\par }\pard \qj\fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 EINVAL}{\fs24    Invalid }{\i\fs24 oflag}{\fs24  or }{\i\fs24 pmode}{\fs24  argument 
\par }\pard \qj\fi6\ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 EMFILE}{\fs24    No more file handles available (too many open files)
\par }{\b\fs24 ENOENT}{\fs24    File or path not found
\par }\pard \ri240\sa120\widctlpar {\i\fs24 
\par }\pard \ri240\sa120\widctlpar {\i\fs24 oflag}{\fs24  is an integer expression formed from one or more of the following manifest constants or constant combinations defined in FCNTL.H:
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_APPEND}{\fs24  Moves file pointer to end of file before every write operation.
\par }{\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_BINARY}{\fs24    Opens file in binary (untranslated) mode. (See }{\b\fs24 fopen}{\fs24  for a description of binary mode.)
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_CREAT}{\fs24    Creates and opens new file for writing. Has no effect if file specified by }{\i\fs24 filename}{\fs24  exists. }{\i\fs24 pmode}{\fs24  argument is required when }{\b\fs24 _O_CREAT}{
\fs24  is specified.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_CREAT}{\fs24  | }{\b\fs24 _O_SHORT_LIVED}{\fs24    Create file as temporary and if possible do not flush to disk. }{\i\fs24 pmode}{\fs24  argument is required when }{\b\fs24 _O_CREAT}{\fs24 
 is specified.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_CREAT}{\fs24  | }{\b\fs24 _O_TEMPORARY}{\fs24    Create file as temporary; file is deleted when last file handle is closed. }{\i\fs24 pmode}{\fs24  argument is required when }{\b\fs24 _O_CREAT}{
\fs24  is specified. 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_CREAT}{\fs24  | }{\b\fs24 _O_EXCL}{\fs24    Returns error value if file specified by }{\i\fs24 filename}{\fs24  exists. Applies only when used with }{\b\fs24 _O_CREAT}{\fs24 .
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 
\par _O_RANDOM}{\fs24    Specifies primarily random access from disk
\par }{\b\fs24 
\par _O_RDONLY}{\fs24    Opens file for reading only;
\par }{\b\fs24 
\par _O_RDWR}{\fs24    Opens file for both reading and writing;
\par }{\b\fs24 
\par _O_SEQUENTIAL}{\fs24    Specifies primarily sequential access from disk
\par }{\b\fs24 
\par _O_TEXT}{\fs24    Opens file in text (translated) mode. 
\par }{\b\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_TRUNC}{\fs24   Opens file and truncates it to zero length; file must have write permission. Used with }{\b\fs24 _O_CREAT}{\fs24  opens an existing file or creates a new file.
\par }\pard \fi6\sa60\sl-240\slmult0\widctlpar {\b\fs24 _O_WRONLY}{\fs24   Opens file for writing only;
\par }\pard \ri240\sa120\widctlpar {\fs24 
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 The }{\i\fs24 pmode}{\fs24  argument is required only when }{\b\fs24 _O_CREAT}{\fs24  is specified. If the file already exists, }{\i\fs24 pmode}{\fs24  is ignored. Otherwise, }{\i\fs24 pmode}{\fs24 
 specifies the file permission settings, which are set when the new file is closed the first time. }{\b\fs24 _open}{\fs24  applies the current file-permission mask to }{\i\fs24 pmode}{\fs24  before setting the permissions (for more information, see }{
\b\fs24 _umask}{\fs24 ). }{\i\fs24 pmode}{\fs24  is an integer expression containing one or both of the following manifest constants, defined in SYS\\STAT.H: 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 _S_IREAD}{\fs24    Reading only permitted
\par }{\b\fs24 _S_IWRITE}{\fs24    Writing permitted (effectively permits reading and writing)
\par }{\b\fs24 _S_IREAD | _S_IWRITE}{\fs24    Reading and writing permitted
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 When both constants are given, they are joined with the bitwise-OR operator ( }{\b\fs24 |}{\fs24  ). In Windows NT, all files are readable, so write-only permission is not available; thus the modes }{\b\fs24 
_S_IWRITE}{\fs24  and }{\b\fs24 _S_IREAD | _S_IWRITE}{\fs24  are equivalent.
\par }\pard \fi6\sa60\sl-240\slmult0\widctlpar {\fs24 
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 An integer representing a handle to the open file, or -1 if the operation fails.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669877}_open_osfhandle{\*\bkmkend _Toc439669877}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int _open_osfhandle(long osfhandle,int flags)\~;
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The _}{\b\f189\fs24 open_osfhandle }{\f188\fs24 
function associates a C run time handle with an existing operating system handle as given by the windows function CreateFile. The <flags> argument can be one of the flags in fcntl.h\~:
\par }\pard \qj\widctlpar {\f188\fs24 _O_APPEND
\par _O_RDONLY
\par _O_TEXT
\par 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 _open_osfhandle }{\f188\fs24 function returns a file handle usable by the low level i/o functions (read/write) or -1 in case of failure.
\par }\pard \widctlpar {\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page {\*\bkmkstart _Toc439669878}_}pclose{\*\bkmkend _Toc439669878}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int _pclose(FILE *stream);
\par }{\b\f190\fs24 
\par Description
\par }\pard \sa120\widctlpar {\fs24 The }{\b\fs24 _pclose}{\fs24  function looks up the process ID of the command processor (CMD.EXE) started by the associated }{\b\fs24 _popen}{\fs24  call, executes a }{\b\fs24 _cwait}{\fs24 
 call on the new command processor, and closes the stream on the associated pipe.
\par }\pard \qj\widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _pclose }{\fs24 function returns the exit status of the terminating command processor, or \endash 1 if an error occurs. The format of the return value is the same as that for }{\b\fs24 _cwait}{\fs24 
, except the low-order and high-order bytes are swapped.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669879}perror{\*\bkmkend _Toc439669879}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par void perror(const char *s);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 perror }{\f188\fs24 function maps the error number in the integer expression }{\b\f189\fs24 errno }{\f188\fs24 
to an error message. It writes a sequence of characters to the standard error stream thus: first (if }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer and the character pointed to by }{\b\f189\fs24 s }{\f188\fs24 
is not the null character), the string pointed to by }{\b\f189\fs24 s }{\f188\fs24 followed by a colon (}{\b\f189\fs24 :}{\f188\fs24 
) and a space; then an appropriate error message string followed by a new-line character. The contents of the error message strings are the same as those returned by the }{\b\f189\fs24 strerror }{\f188\fs24 function with argument }{\b\f189\fs24 errno}{
\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 perror }{\f188\fs24 function returns no value.
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page {\*\bkmkstart _Toc439669880}_}pipe{\*\bkmkend _Toc439669880}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par #include <fcntl.h>
\par int _pipe(int *phandles, unsigned int psize, int textmode);
\par }{\b\f190\fs24 
\par Description
\par }\pard \sa120\widctlpar {\fs24 The }{\b\fs24 _pipe}{\fs24  function creates a pipe. }{\cs25\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\fs24 A }{\i\fs24 pipe}{\fs24 
 is an I/O channel that a program uses to pass information to other programs. Is similar to a file in that it has a file pointer, a file descriptor, or both, and can be read from or written to using the standard library\rquote 
s input and output functions. However, a pipe does not represent a specific file or device. Instead, it represents temporary storage in memory that is independent of the program\rquote s own memory and is controlled entirely by the operating system.}}}{
\fs24 
\par }\pard \sa120\widctlpar {\b\fs24 _pipe}{\fs24  is similar to }{\b\fs24 _open}{\fs24  but opens the pipe for reading and writing, re
turning two file handles instead of one. The program can use both sides of the pipe or close the one it does not need. For example, the command processor creates a pipe when executing a command such as
\par }\pard \sa120\widctlpar {\fs24 
\par }\pard \sl-220\slmult0\widctlpar {\fs24 type myfile | grep someword
\par }\pard \sa120\widctlpar {\fs24 
\par }\pard \sa120\widctlpar {\fs24 The standard output handle of the }{\b\fs24 type}{\fs24  program is attached to the pipe\rquote s write handle. The standard input handle of }{\b\fs24 grep}{\fs24  is attached to the pipe\rquote 
s read handle. This eliminates the need for creating temporary files to pass information to other programs.
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _pipe}{\fs24  function returns two handles to the pipe in the }{\i\fs24 phandles}{\fs24  argument. The element }{\i\fs24 phandles}{\fs24 [0] contains the read handle, and the element }{\i\fs24 phandles}{
\fs24 [1] contains the write handle. Pipe file handles are used in the same way as other file handles. (The low-level input and output functions }{\b\fs24 _read}{\fs24  and }{\b\fs24 _write}{\fs24 
 can read from and write to a pipe.) To detect the end-of-pipe condition, check for a }{\b\fs24 _read}{\fs24  request that returns 0 as the number of bytes read.
\par The }{\i\fs24 psize}{\fs24  argument specifies the amount of memory, in bytes, to reserve for the pipe. The }{\i\fs24 textmode}{\fs24  argument specifies the translation mode for the pipe. The manifest constant }{\b\fs24 _O_TEXT}{\fs24 
 specifies a text translation, and the constant }{\b\fs24 _O_BINARY}{\fs24  specifies binary translation. If the }{\i\fs24 textmode}{\fs24  argument is 0, }{\b\fs24 _pipe}{\fs24  uses the default translation mode specified by the default-mode variable }{
\b\fs24 _fmode}{\fs24 .
\par }\pard \qj\sa120\widctlpar {\fs24 In multithreaded programs, no locking is performed. The handles returned are newly opened and should not be referenced by any thread until after the }{\b\fs24 _pipe}{\fs24  call is complete.
\par }\pard \qj\sa120\widctlpar {\fs24 Under windows a pipe is destroyed when a
ll of its handles have been closed. (If all read handles on the pipe have been closed, writing to the pipe causes an error.) All read and write operations on the pipe wait until there is enough data or enough buffer space to complete the I/O request

\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 Returns 0 if successful. It returns \endash 1 to indicate an error, in which case }{\b\fs24 errno}{\fs24  is set to one of two values: }{\b\fs24 EMFILE}{\fs24 , which indicates no more file handles available, or }{
\b\fs24 ENFILE}{\fs24 , which indicates a system file table overflow.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669881}_popen{\*\bkmkend _Toc439669881}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par FILE *popen(const char *command,const char *mode);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 The }{\b\fs24 _popen}{\fs24  function creates a pipe and asynchronously executes a spawned copy of the command processor with the specified string }{\i\fs24 command}{\fs24 . The character string }{\i\fs24 mode}{
\fs24  specifies the type of access requested:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\ri240\sa60\sl-240\slmult0\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\fs24 "r"}{\fs24  The calling process can read the spawned command\rquote 
s standard output via the result of _popen.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\fs24 "w"}{\fs24    The calling process can write to the spawned command\rquote s standard input via the result of _popen.
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\ri240\sa60\sl-240\slmult0\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\b\fs24 "b"}{\fs24  Open in binary mode.
\par {\pntext\pard\plain\f1 \'b7\tab}}{\b\fs24 "t"}{\fs24   Open in text mode.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 Returns the communication stream or NULL if an error occurs.
\par }{\b\f188\fs24 Portability\~:
\par }\pard \widctlpar {\f188\fs24 A similar function exists under the LINUX operating system. (without the leading underscore)
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669882}pow{\*\bkmkend _Toc439669882}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 
\par Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double pow(double x, double y);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 pow }{\f188\fs24 functions compute }{\b\f189\fs24 x }{\f188\fs24 raised to the power }{\b\f189\fs24 y}{\f188\fs24 . A domain error occurs if }{\b\f189\fs24 x }{\f188\fs24 is negative and }{\b\f189\fs24 
y }{\f188\fs24 is finite and not an integer value. A domain error occurs if the result cannot be represented when }{\b\f189\fs24 x }{\f188\fs24 is zero and }{\b\f189\fs24 y }{\f188\fs24 is less than or equal to zero. A range error may occur.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 pow }{\f188\fs24 functions return the value of }{\b\f189\fs24 x }{\f188\fs24 raised to the power }{\b\f189\fs24 y}{\f188\fs24 .}{\b\f3\fs24 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 
\par Example\~:
\par }{\f3\fs24 
\par }{\f3 #include <math.h>
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    double x = 2.0, y = 32.0, z;
\par 
\par    z = pow( x, y );
\par    printf( "%.1f to the power of %.1f is %.1f\\n", x, y, z );
\par \}
\par }{\b\fs24 
\par Output\~:
\par {\pntext\pard\plain\fs20 2.0 \tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlbody\pndec\pnb0\pni0\pnf4\pnfs20\pnindent283\pnhang{\pntxtb 2.}{\pntxta  }}to the power of 32.0 is 4294967296.0
\par \pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669883}printf{\*\bkmkend _Toc439669883}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int printf(const char * restrict format, ...);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 printf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fprintf }{\f188\fs24 with the argument }{\b\f189\fs24 stdout }{\f188\fs24 interposed
\par }\pard \widctlpar {\f188\fs24 before the arguments to }{\b\f189\fs24 printf}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 printf }{\f188\fs24 function returns the number of characters transmitted, or a negative value if an output or encoding error occurred.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669884}putc{\*\bkmkend _Toc439669884}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int putc(int c, FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 putc }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fputc}{\f188\fs24 , except that if it is implemented as a macro, it may evaluate }{\b\f189\fs24 stream }{\f188\fs24 
more than once, so that argument should never be an expression with side effects.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 putc }{\f188\fs24 function returns the character written. If a write error occurs, the error indicator for the stream is set and }{\b\f189\fs24 putc }{\f188\fs24 returns }{\b\f189\fs24 EOF}{\f188\fs24 .

\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669885}putchar{\*\bkmkend _Toc439669885}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int putchar(int c);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 putchar }{\f188\fs24 function is equivalent to }{\b\f189\fs24 putc }{\f188\fs24 with the second argument }{\b\f189\fs24 stdout}{\f188\fs24 . 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 putchar }{\f188\fs24 function returns the character written. If a write error occurs, the error indicator for the stream is set and }{\b\f189\fs24 putchar }{\f188\fs24 returns }{\b\f189\fs24 EOF}{
\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669886}putenv{\*\bkmkend _Toc439669886}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int putenv(const char *envstring);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 putenv }{\fs24 function adds new environment variables or modifies the value of existing ones. The }{\i\fs24 envstring}{\fs24  argument must be a pointer to a string of the form }{\i\fs24 varname=string}{
\fs24 , where }{\i\fs24 varname}{\fs24  is the name of the environment variable to be added or modified and }{\i\fs24 string}{\fs24  is the variable\rquote s value. If }{\i\fs24 varname}{\fs24  is already part of the environment, its value is replaced by 
}{\i\fs24 string}{\fs24 ; otherwise, the new }{\i\fs24 varname}{\fs24  variable and its }{\i\fs24 string}{\fs24  value are added to the environment. You can remove a variable from the environment by specifying an empty }{\i\fs24 string}{\fs24  \emdash 
 in other words, by specifying only }{\i\fs24 varname=}{\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 putenv }{\f188\fs24 function returns 0 if successfull, -1 otherwise
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f11 
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669887}puts{\*\bkmkend _Toc439669887}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int puts(const char *s);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 puts }{\f188\fs24 function writes the string pointed to by }{\b\f189\fs24 s }{\f188\fs24 to the stream pointed to by }{\b\f189\fs24 stdout}{\f188\fs24 ,
\par }\pard \qj\widctlpar {\f188\fs24 and appends a new-line character to the output. The terminating null character is not written.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 puts }{\f188\fs24 function returns }{\b\f189\fs24 EOF }{\f188\fs24 if a write error occurs; otherwise it returns a nonnegative
\par }\pard \widctlpar {\f188\fs24 value.
\par }\pard \widctlpar \page 
\par \pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\*\bkmkstart _Toc439669888}qsort{\*\bkmkend _Toc439669888}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 void qsort(void *base, size_t nmemb, size_t size,int (*compar)(const void *, const void *));
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 qsort }{\f188\fs24 function sorts an array of }{\b\f189\fs24 nmemb }{\f188\fs24 objects, the initial element of which is pointed to by }{\b\f189\fs24 base}{\f188\fs24 
. The size of each object is specified by }{\b\f189\fs24 size}{\f188\fs24 . The contents of the array are sorted into ascending order according to a comparison function pointed to by }{\b\f189\fs24 compar}{\f188\fs24 
, which is called with two arguments that point to the objects being compared. The function shall return an integer less than, equal to, or greater than zero if the first argument is considered to
 be respectively less than, equal to, or greater than the second.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 If two elements compare as equal, their order in the resulting sorted array is unspecified.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669889}raise{\*\bkmkend _Toc439669889}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <signal.h>
\par int raise(int sig);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 raise }{\f188\fs24 function carries out the actions described in 7.14.1.1 for the signal }{\b\f189\fs24 sig}{\f188\fs24 .If a signal handler is called, the }{\b\f189\fs24 raise }{\f188\fs24 
function shall not return until after the signal handler does.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 The }{\b\f189\fs24 raise }{\f188\fs24 function returns zero if successful, nonzero if unsuccessful.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669890}rand{\*\bkmkend _Toc439669890}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int rand(void);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 rand }{\f188\fs24 function computes a sequence of pseudo-random integers in the range 0 to }{\b\f189\fs24 RAND_MAX}{\f188\fs24 .}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar 
\f4\fs20\lang1036 {\cs25\super \chftn } Lcc-win32 defines RAND_MAX to 0xFFFF in stdlib.h}}{\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 The implementation shall behave as if no library function calls the }{\b\f189\fs24 rand }{\f188\fs24 function.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 
\par The }{\b\f189\fs24 rand }{\f188\fs24 function returns a pseudo-random integer.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669891}realloc{\*\bkmkend _Toc439669891}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void *realloc(void *ptr, size_t size);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 realloc }{\fs24 function changes the size of the object pointed to by }{\b\fs24 ptr }{\fs24 to the size specified by }{\b\fs24 size}{\fs24 . The contents of the object shall be un
changed up to the lesser of the new and old sizes. If the new size is larger, the value of the newly allocated portion of the object is indeterminate. If }{\b\fs24 ptr }{\fs24 is a null pointer, the }{\b\fs24 realloc }{\fs24 function behaves like the }{
\b\fs24 malloc }{\fs24 function for the specified size. Otherwise, if }{\b\fs24 ptr }{\fs24 does not match a pointer earlier returned by the }{\b\fs24 calloc}{\fs24 , }{\b\fs24 malloc}{\fs24 ,or}{\b\fs24 realloc }{\fs24 
function, or if the space has been deallocated by a call to the }{\b\fs24 free }{\fs24 or }{\b\fs24 realloc }{\fs24 function, the behavior is undefined. If the space cannot be allocated, the object pointed to by }{\b\fs24 ptr }{\fs24 is unchanged. If the 
}{\b\fs24 realloc }{\fs24 function returns a null pointer when }{\b\fs24 size }{\fs24 is zero and }{\b\fs24 ptr }{\fs24 is not a null pointer, the object it pointed to has been freed.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 realloc }{\fs24 function returns either a null pointer or a pointer to the possibly moved allocated space. If the object has moved, }{\b\fs24 ptr }{\fs24 is a pointer that refers to freed space.}{\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669892}remove{\*\bkmkend _Toc439669892}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int remove(const char *filename);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\fs24 
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 remove }{\fs24 function causes the file whose name is the string pointed to by }{\b\fs24 filename }{\fs24 
to be no longer accessible by that name. A subsequent attempt to open that file using that name will fail, unless it is created anew. If the file is open, the behavior of the }{\b\fs24 remove }{\fs24 function is implementation-defined.
\par }\pard \qj\widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 
\par }\pard \qj\ri240\sl-220\slmult0\widctlpar {\f188\fs24 The }{\b\f189\fs24 remove }{\f188\fs24 function returns zero if the operation succeeds, nonzero if it fails. The error codes are\~: EACCESS (read only file) or ENOENT (no such a file).
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Example\~:
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f0\fs24 
\par }{\f11 #include <stdio.h>}{\f0\fs24 
\par 
\par }{\f11 void main( void )}{\f0\fs24 
\par }{\f11 \{}{\f0\fs24 
\par }{\f11    if( remove( "remove.obj" ) == -1 )}{\f0\fs24 
\par }{\f11       perror( "Could not delete 'REMOVE.OBJ'" );}{\f0\fs24 
\par }{\f11    else}{\f0\fs24 
\par }{\f11       printf( "Deleted 'REMOVE.OBJ'\\n" );}{\f0\fs24 
\par }{\f11 \}
\par }{\f0\fs24 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\b\f188\fs24 
\par }{\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669893}rename{\*\bkmkend _Toc439669893}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int rename(const char *old, const char *new);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 rename }{\fs24 function causes the file whose name is the string pointed to by }{\b\fs24 old }{\fs24 to be  henceforth known by the name given by the string pointed to by }{\b\fs24 new}{\fs24 . The file named }{
\b\fs24 old }{\fs24 is no longer accessible by that name. If a file named by the string pointed to by }{\b\fs24 new }{\fs24 exists prior to the call to the }{\b\fs24 rename }{\fs24 function, the behavior is implementation-defined.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 rename }{\fs24 function returns zero if the operation succeeds, nonzero if it fails}{\fs18  }{\fs24 in which case if the file existed previously it is still known by its original name.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669894}rewind{\*\bkmkend _Toc439669894}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par void rewind(FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 rewind }{\f188\fs24 function sets the file position indicator for the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 to the beginning of the file. It is equivalent to 
\par }\pard \widctlpar {\b\f189\fs24 (void)fseek(stream, 0L, SEEK_SET)
\par }{\f188\fs24 except that the error indicator for the stream is also cleared.
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 rewind }{\f188\fs24 function returns no value.
\par }\pard \qj\widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669895}rint{\*\bkmkend _Toc439669895}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double rint(double x);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 rint }{\fs24 function round its argument to an integer value in floating-point format, using the current rounding direction. Under lcc-win32 this function is implemented as an intrinsic macro.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 The }{\b\f189\fs24 rint }{\f188\fs24 functions returns the rounded integer value.
\par 
\par }{\b\f188\fs24 Example\~:
\par }{\f11 
\par #include <math.h>
\par #include <stdio.h>
\par void main(void)
\par \{
\par \tab double value = 8.677;
\par 
\par \tab printf("The rounded value of %g is %d\\n",value,rint(value));
\par \}
\par 
\par The rounded value of 8.677 is 9
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669896}rmdir{\*\bkmkend _Toc439669896}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <direct.h>
\par int rmdir(const char * directoryName);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\fs24 This function deletes the indicated directory. In case of error, the values of errno can be one of\~:
\par }\pard \qj\widctlpar {\fs24 ENOTEMPTY Directory wasn\rquote t empty
\par ENOENT Path doesn\rquote t point to an existing directory.
\par 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 Zero for success, -1 for failure.
\par 
\par }{\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows
\par }\pard \widctlpar {\f188\fs24 Lcc-win32 supports both the }{\b\f188\fs24 _rmdir}{\f188\fs24  and the }{\b\f188\fs24 rmdir}{\f188\fs24  functions, that point to the same function in CRTDLL.DLL.
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669897}_rmtmp{\*\bkmkend _Toc439669897}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 Synopsis\~:
\par 
\par }{\b\f11\fs24 #include <stdio.h>
\par int __rmtmp(void)\~;
\par }{\f11 
\par }{\b\fs24 Description\~:
\par }{\fs24 
\par }\pard \qj\ri240\sl-220\slmult0\widctlpar {\fs24 Removes all temporary files created by the program. This function is not a standard ANSI C function.
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f11 
\par }{\b\fs24 Returns\~:
\par 
\par }{\fs24 Returns the number of temporary files deleted
\par }{\f11 
\par }{\b\fs24 Example\~:
\par }{\f11 
\par #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    FILE *stream;
\par    int  i;
\par 
\par    /* Create temporary files. */
\par    for( i = 1; i <= 4; i++ )
\par    \{
\par       if( (stream = tmpfile()) == NULL ) \{
\par          perror( "Could not open new temporary file\\n" );
\par \tab break;
\par       \}
\par       else
\par          printf( "Temporary file %d was created\\n", i );
\par    \}
\par 
\par    /* Remove temporary files. */
\par    printf( "%d temporary files deleted\\n", _rmtmp() );
\par \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669898}_rotl{\*\bkmkend _Toc439669898}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 Synopsis\~:
\par 
\par }{\b\f11\fs24 #include <stdlib.h>
\par unsigned int rotl(unsigned int value,int shift)\~;
\par }{\f11 
\par }{\b\fs24 Description\~:
\par }{\fs24 
\par Rotates left the bits in the unsigned int <value> by the amount indicated by <shift>
\par 
\par }{\b\fs24 Returns\~:
\par 
\par }{\fs24 Returns the rotated value
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669899}_rotr{\*\bkmkend _Toc439669899}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 Synopsis\~:
\par 
\par }{\b\f11\fs24 #include <stdlib.h>
\par unsigned int rotr(unsigned int value,int shift)\~;
\par }{\f11 
\par }{\b\fs24 Description\~:
\par }{\fs24 
\par Rotates right the bits in the unsigned int <value> by the amount indicated by <shift>
\par 
\par }{\b\fs24 Returns\~:
\par 
\par }{\fs24 Returns the rotated value
\par }{\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669900}scanf{\*\bkmkend _Toc439669900}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int scanf(const char * restrict format, ...);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 scanf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fscanf }{\f188\fs24 with the argument }{\b\f189\fs24 stdin }{\f188\fs24 interposed before the arguments to }{\b\f189\fs24 scanf}{\f188\fs24 .

\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 scanf }{\f188\fs24 function returns the value of the macro }{\b\f189\fs24 EOF }{\f188\fs24 if an input failure occurs before any conversion. Otherwise, the }{\b\f189\fs24 scanf }{\f188\fs24 
function returns the number of input items  assigned, which can be fewer than provided for, or even zero, in the event of an early matching failure.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669901}_searchenv{\*\bkmkend _Toc439669901}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 Synopsis\~:
\par 
\par }{\b\f11\fs24 #include <stdlib.h>
\par }\pard \ri240\sl-220\slmult0\widctlpar {\b\f11\fs24 void_searchenv(const char *filename,const char *varname,char *pathname)\~;
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f11 
\par }{\b\fs24 Description\~:
\par }{\fs24 
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _searchenv}{\fs24  routine searches for the target file specified by its <filename> argument in the specified domain. The }{\i\fs24 varname}{\fs24 
 variable can be any environment or user-defined variable that specifies a list of directory paths, such as }{\b\fs24 PATH}{\fs24 , }{\b\fs24 LIB}{\fs24 , and }{\b\fs24 INCLUDE}{\fs24 .}{\b\fs24 _searchenv}{\fs24  is case sensitive, so }{\i\fs24 varname}{
\fs24  should match the case of the environment variable.
\par }\pard \qj\sa120\widctlpar {\fs24 T
he routine searches first for the file in the current working directory. If it does not find the file, it looks next through the directories specified by the environment variable. If the target file is in one of those directories, the newly created path i
s copied into }{\i\fs24 pathname}{\fs24 .buffer If the }{\i\fs24 filename}{\fs24  file is not found, }{\i\fs24 pathname}{\fs24  will contain an empty string.
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 
\par 
\par }{\b\fs24 Returns\~:
\par 
\par }{\fs24 This function returns no value
\par 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669902}setbuf{\*\bkmkend _Toc439669902}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par void setbuf(FILE * restrict stream,
\par char * restrict buf);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\fs24 Except that it returns no value, the }{\b\fs24 setbuf }{\fs24 function is equivalent to the }{\b\fs24 setvbuf }{\fs24 function invoked with the values }{\b\fs24 _IOFBF }{\fs24 for }{\b\fs24 mode }{\fs24 and }{\b\fs24 BUFSIZ }{
\fs24 for }{\b\fs24 size}{\fs24 ,or (if }{\b\fs24 buf }{\fs24 is a null pointer), with the value }{\b\fs24 _IONBF }{\fs24 for }{\b\fs24 mode}{\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 setbuf }{\f188\fs24 function returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669903}setmode{\*\bkmkend _Toc439669903}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par #include <fcntl.h>
\par int semode(int handle,int mode);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\fs24 This function sets the translation mode (whether the file translates or not the \\r \\n sequences) to the mode specified by its <mode> 
argument. This argument should be either _O_TEXT or _O_BINARY, two manifest constants defined in fcntl.h}{\b\f190\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 Returns the value of the previous translation mode.
\par 
\par Portability\~:
\par Windows
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669904}setjmp{\*\bkmkend _Toc439669904}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }\pard \widctlpar {\f188\fs24 1 }{\b\f189\fs24 #include <setjmp.h>
\par }\pard \widctlpar {\b\f189\fs24 int setjmp(jmp_buf env);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 setjmp }{\fs24 macro}{\cs25\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } Lcc-win32 implements this as a function.}}{\fs24  saves its calling environment in its }{
\b\fs24 jmp_buf }{\fs24 argument for later use by the }{\b\fs24 longjmp }{\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\fs24 If the return is from a direct invocation, the }{\b\fs24 setjmp }{\fs24 macro returns the value zero. If the return is from a call to the }{\b\fs24 longjmp }{\fs24 function, the }{\b\fs24 setjmp }{\fs24 macro returns a nonzero

\par }\pard \widctlpar {\f188\fs24 value.
\par }{\b\f190\fs24 
\par Environmental limits
\par }\pard \widctlpar {\f188\fs24 An invocation of the }{\b\f189\fs24 setjmp }{\f188\fs24 macro shall appear only in one of the following contexts:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 the entire controlling expression of a selection or iteration statement;
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 
one operand of a relational or equality operator with the other operand an integer constant expression, with the resulting expression being the entire controlling expression of a selection or iteration statement;
\par {\pntext\pard\plain\f1\fs20 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 the operand of a unary }{\b\f189\fs24 ! }{\f188\fs24 operator with the resulting expression be
ing the entire controlling expression of a selection or iteration statement; or }{\f11 
\par {\pntext\pard\plain\f1\fs20 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 the entire expression of an expression statement (possibly cast to }{\b\f189\fs24 void}{\f188\fs24 ).}{\f11 

\par }\pard \widctlpar {\f188\fs24 
\par If the invocation appears in any other context, the behavior is undefined.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669905}setlocale{\*\bkmkend _Toc439669905}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <locale.h>
\par char *setlocale(int category, const char *locale);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\fs24 The }{\b\fs24 setlocale }{\fs24 function selects the appropriate portion of the program\rquote s locale as specified by the }{\b\fs24 category }{\fs24 and }{\b\fs24 locale }{\fs24 arguments. The }{\b\fs24 setlocale }{\fs24 
function may be used to change or query the program\rquote s entire current locale or portions thereof. The value }{\b\fs24 LC_ALL }{\fs24 for }{\b\fs24 category }{\fs24 names the program\rquote s entire locale; the other values for }{\b\fs24 category }{
\fs24 name only a portion of the program\rquote s locale. }{\b\fs24 LC_COLLATE }{\fs24 affects the behavior of the }{\b\fs24 strcoll }{\fs24 and }{\b\fs24 strxfrm }{\fs24 functions. }{\b\fs24 LC_CTYPE }{\fs24 
affects the behavior of the character handling functions }{\fs18 174) }{\fs24 and the multibyte and wide-character functions. }{\b\fs24 LC_MONETARY }{\fs24 affects the monetary formatting information returned by the }{\b\fs24 localeconv }{\fs24 function. 
}{\b\fs24 LC_NUMERIC }{\fs24 affects the decimal-point character for the formatted input/output functions and the string conversion functions, as well as the nonmonetary formatting information returned by the }{\b\fs24 localeconv }{\fs24 function. }{
\b\fs24 LC_TIME }{\fs24 affects the behavior of the }{\b\fs24 strftime }{\fs24 and }{\b\fs24 strfxtime }{\fs24 functions. 
\par }\pard \qj\widctlpar {\fs24 A value of }{\b\fs24 "C" }{\fs24 for }{\b\fs24 locale }{\fs24 specifies the minimal environment for C translation; a value of }{\b\fs24 "" }{\fs24 for }{\b\fs24 locale }{\fs24 
specifies the locale-specific native environment. Other implementation-defined strings may be passed as the second argument to }{\b\fs24 setlocale}{\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par At program startup, the equivalent of
\par }{\b\f189\fs24 setlocale(LC_ALL, "C");
\par }{\f188\fs24 is executed.
\par 
\par }{\fs24 The implementation shall behave as if no library function calls the }{\b\fs24 setlocale }{\fs24 function.
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\fs24 If a pointer to a string is given for }{\b\fs24 locale }{\fs24 and the selection can be honored, the }{\b\fs24 setlocale }{\fs24 function returns a pointer to the string associated with the specified }{\b\fs24 category }{\fs24 
for the new locale. If the selection cannot be honored, the }{\b\fs24 setlocale }{\fs24 function returns a null pointer and the program\rquote s locale is not changed.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \ri240\sb120\sa120\widctlpar {\b\fs24 Remarks for the lcc-win32/windows run time library implementation}{\f192\fs24 
\par }\pard \qj\ri240\sa120\widctlpar \'93{\fs24 Locale\'94
 refers to the locality (country and language) for which you can customize certain aspects of your program. Some locale-dependent categories include the formatting of dates and the display format for monetary values. 
\par The }{\i\fs24 category}{\fs24  argument specifies the parts of a program\rquote s locale information that are affected. The macros used for }{\i\fs24 category}{\fs24  and the parts of the program they affect are as follows:
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 LC_ALL}{\fs24    All categories, as listed below
\par }{\b\fs24 LC_COLLATE}{\fs24    The }{\b\fs24 strcoll, _stricoll, wcscoll, _wcsicoll,}{\fs24  and }{\b\fs24 strxfrm}{\fs24  functions
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 LC_CTYPE}{\fs24    The character-handling functions (except }{\b\fs24 isdigit}{\fs24 , }{\b\fs24 isxdigit}{\fs24 , }{\b\fs24 mbstowcs}{\fs24 , and }{\b\fs24 mbtowc}{\fs24 , which are unaffected)
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 LC_MONETARY}{\fs24    Monetary-formatting information returned by the }{\b\fs24 localeconv}{\fs24  function
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 LC_NUMERIC}{\fs24    Decimal-point character for the formatted output routines (such as }{\b\fs24 printf}{\fs24 
), for the data-conversion routines, and for the nonmonetary-formatting information  eturned by }{\b\fs24 localeconv}{\fs24  
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 LC_TIME}{\fs24    The }{\b\fs24 strftime}{\fs24  and }{\b\fs24 wcsftime}{\fs24  functions
\par }\pard \qj\ri240\sl-220\slmult0\widctlpar {\fs24 The }{\i\fs24 locale}{\fs24  argument is a pointer to a string that specifies the name of the locale. If }{\i\fs24 locale}{\fs24 
  points to an empty string, the locale is the implementation-defined native environment. A  value of \'93C\'94 specifies the minimal ANSI conforming environment for C translation. The \'93C\'94  locale assumes that all }{\b\fs24 char}{\fs24 
 data types are 1 byte and that their value is always less than 256. }{\f192\fs24 
\par }\pard \sl-160\slmult0\widctlpar {\f192\fs10   }{\f192\fs24 
\par }\pard \ri240\sa120\widctlpar {\fs24 The }{\i\fs24 locale}{\fs24  argument takes the following form:
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 locale :: "lang[_country[.code_page]]" 
\par             | ".code_page"
\par             | ""
\par             | NULL
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 The set of available languages, countries, and code pages includes all those supported by the Win32 NLS API. 
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 If }{\i\fs24 locale}{\fs24  is a null pointer, }{\b\fs24 setlocale}{\fs24  queries, rather than sets, the international environment, and returns a pointer to the string associated with the specified }{\i\fs24 
category}{\fs24 . The program\rquote s current locale setting is not changed. For example,
\par }\pard \sl-120\slmult0\widctlpar {\fs24   }{\f192\fs24 
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f11 setlocale( LC_ALL, NULL );}{\f192\fs24 
\par }\pard \sl-160\slmult0\widctlpar {\f192\fs10  }{\f192\fs24 
\par }\pard \li180\ri240\sa120\widctlpar {\fs24 returns the string associated with }{\i\fs24 category}{\fs24 . 
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 The following examples pertain to the }{\b\fs24 LC_ALL}{\fs24  category. Either of the strings ".OCP" and ".ACP"
 can be used in place of a code page number to specify use of the system default OEM code page and system-default ANSI code page, respectively.
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "" );   Sets the locale to the default, which is the system-default ANSI code page obtained from the operating system.
\par setlocale( LC_ALL, ".OCP" );   Explicitly sets the locale to the current OEM code page obtained from the operating system.
\par setlocale( LC_ALL, ".ACP" );   Sets the locale to the ANSI code page obtained from the operating system.
\par setlocale( LC_ALL, "[lang_ctry]" );   Sets the locale to the language and country indicated, using the default code page obtained from the host operating system.
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "[lang_ctry.cp]" );   Sets the locale to the language, country, and code page indicated in the [}{\i\fs24 lang_ctry.cp}{\fs24 
] string. You can use various combinations of language, country, and code page. For example:
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "French_Canada.1252" );
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 // Set code page to French Canada ANSI default
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "French_Canada.ACP" );
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 // Set code page to French Canada OEM default
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "French_Canada.OCP" );
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\fs24 
setlocale( LC_ALL, "[lang]" );   Sets the locale to the country indicated, using the default country for the language specified, and the system-default ANSI code page for that country as obtained from the host operating system. For example, the following 
two calls to }{\b\fs24 setlocale}{\fs24  are functionally equivalent:
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "English" );
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \sl-120\slmult0\widctlpar {\fs24   
\par }\pard \ri240\sl-220\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "English_United States.1252" );
\par }\pard \sl-160\slmult0\widctlpar {\fs24   
\par }\pard \qj\ri240\sa60\sl-240\slmult0\widctlpar {\fs24 setlocale( LC_ALL, "[.code_page]" );   Sets the code page to the value indicated, using the default country and language (as defined by the host operating system) for the specified code page. 
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 The category must be either }{\b\fs24 LC_ALL}{\fs24  or }{\b\fs24 LC_CTYPE}{\fs24  to effect a change of code page. For example, if the default country and language of the host operating system are \'93
United  States\'94 and \'93English,\'94 the following two calls to }{\b\fs24 setlocale}{\fs24  are functionally equivalent: 
\par }\pard \li180\ri240\sl-220\slmult0\widctlpar {\f11 setlocale( LC_ALL, ".1252" );}{\f0\fs24 
\par }{\f11 setlocale( LC_ALL, "English_United States.1252");}{\f0\fs24 
\par }\pard \widctlpar {\fs24 
\par 
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669906}setvbuf{\*\bkmkend _Toc439669906}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int setvbuf(FILE * restrict stream, char * restrict buf,
\par int mode, size_t size);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 setvbuf }{\f188\fs24 function may be used only after the stream pointed to by }{\b\f189\fs24 stream }{\f188\fs24 
has been associated with an open file and before any other operation (other than an unsuccessful call to }{\b\f189\fs24 setvbuf}{\f188\fs24 ) is performed on the stream. The argument }{\b\f189\fs24 mode }{\f188\fs24 determines how }{\b\f189\fs24 stream }{
\f188\fs24 will be buffered, as follows: }{\b\f189\fs24 _IOFBF }{\f188\fs24 causes input/output to be fully buffered; }{\b\f189\fs24 _IOLBF }{\f188\fs24 causes input/output to be line buffered; }{\b\f189\fs24 _IONBF }{\f188\fs24 
causes input/output to be unbuffered. If }{\b\f189\fs24 buf }{\f188\fs24 is not a null pointer, the array it points to may be used instead of a buffer allocated by the }{\b\f189\fs24 setvbuf }{\f188\fs24 function }{\cs25\f188\fs24\super \chftn {\footnote 
\pard\plain \widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 The buffer has to have a lifetime at least as great as the open stream, so the stream should be closed
\par }\pard\plain \s24\widctlpar \f4\fs20\lang1036 {\f188 before a buffer that has automatic storage duration is deallocated upon block exit.}}}{\f188\fs18  }{\f188\fs24 and the argument }{\b\f189\fs24 size }{\f188\fs24 
specifies the size of the array; otherwise, }{\b\f189\fs24 size }{\f188\fs24 may determine the size of a buffer allocated by the }{\b\f189\fs24 setvbuf }{\f188\fs24 function. The  contents of the array at any time are indeterminate.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 setvbuf }{\f188\fs24 function returns zero on success, or nonzero if an invalid value is given
\par for }{\b\f189\fs24 mode }{\f188\fs24 or if the request cannot be honored.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669907}signal{\*\bkmkend _Toc439669907}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <signal.h>
\par void (*signal(int sig, void (*func)(int)))(int);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 signal }{\f188\fs24 function chooses one of three ways in which receipt of the signal number }{\b\f189\fs24 sig }{\f188\fs24 is to be subsequently handled. If the value of }{\b\f189\fs24 func }{
\f188\fs24 is }{\b\f189\fs24 SIG_DFL}{\f188\fs24 , default handling for that signal will occur. If the value of }{\b\f189\fs24 func }{\f188\fs24 is }{\b\f189\fs24 SIG_IGN}{\f188\fs24 , the signal will be ignored. Otherwise, }{\b\f189\fs24 func }{
\f188\fs24 shall point to a function to be called when that signal occurs. An invocation of such a function because of a 
signal, or (recursively) of any further functions called by that invocation (other than functions in the standard library), is called a }{\i\f191\fs24 signal handler}{\f188\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 When a signal occurs and }{\b\f189\fs24 func }{\f188\fs24 points to a function, it is implementation-defined whether the equivalent of }{\b\f189\fs24 signal(sig, SIG_DFL); }{\f188\fs24 
is executed or the implementation prevents some implementation-defined set of signals (at least including }{\b\f189\fs24 sig}{\f188\fs24 ) from occurring until the current signal handling has completed; in the case of }{\b\f189\fs24 SIGILL}{\f188\fs24 
, the implementation may alternatively define that no action is taken. Then the equivalent of }{\b\f189\fs24 (*func)(sig); }{\f188\fs24 is executed. If and when the function returns, if the value of }{\b\f189\fs24 sig }{\f188\fs24 is }{\b\f189\fs24 SIGFPE
}{\f188\fs24 , }{\b\f189\fs24 SIGILL}{\f188\fs24 , }{\b\f189\fs24 SIGSEGV}{\f188\fs24 
, or any other implementation-defined value corresponding to a computational exception, the behavior is undefined; otherwise the program will resume execution at the point it was interrupted.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 If the signal occurs as the result of calling the }{\b\f189\fs24 abort }{\f188\fs24 or }{\b\f189\fs24 raise }{\f188\fs24 function, the signal
\par handler shall not call the }{\b\f189\fs24 raise }{\f188\fs24 function.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 If the signal occurs other than as the result of calling the }{\b\f189\fs24 abort }{\f188\fs24 or }{\b\f189\fs24 raise }{\f188\fs24 
function, the behavior is undefined if the signal handler refers to any object with static storage duration other than by assigning a value to an object declared as }{\b\f189\fs24 volatile sig_atomic_t}{\f188\fs24 
,or the signal handler calls any function in the standard library other than the }{\b\f189\fs24 abort }{\f188\fs24 function or the }{\b\f189\fs24 signal }{\f188\fs24 
function with the first argument equal to the signal number corresponding to the signal that caused the invocation of the handler. Furthermore, if such a call to the }{\b\f189\fs24 signal }{\f188\fs24 function results in a }{\b\f189\fs24 SIG_ERR }{
\f188\fs24 return, the value of }{\b\f189\fs24 errno }{\f188\fs24 is indeterminate.}{\f188\fs18 
\par }\pard \widctlpar {\f188\fs24 
\par At program startup, the equivalent of 
\par }{\b\f189\fs24 signal(sig, SIG_IGN);
\par }\pard \qj\widctlpar {\f188\fs24 may be executed for some signals selected in an implementation-defined manner; the equivalent of }{\b\f189\fs24 signal(sig, SIG_DFL); }{\f188\fs24 is executed for all other signals defined by the implementation.
\par }\pard \widctlpar {\f188\fs24 The implementation shall behave as if no library function calls the }{\b\f189\fs24 signal }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the request can be honored, the }{\b\f189\fs24 signal }{\f188\fs24 function returns the value of }{\b\f189\fs24 func }{\f188\fs24 for the most recent successful call to }{\b\f189\fs24 signal }{\f188\fs24 
for the specified signal }{\b\f189\fs24 sig}{\f188\fs24 . Otherwise, a value of }{\b\f189\fs24 SIG_ERR }{\f188\fs24 is returned and a positive value is stored in }{\b\f189\fs24 errno}{\f188\fs24 .
\par }\pard \widctlpar {\b\f188\fs24 Remarks concerning the implementation within the lcc-win32/windows system.
\par }\pard \qj\widctlpar {\f188\fs24 The implementation of }{\b\f188\fs24 signal}{\f188\fs24 
() is made exttraordinaliry difficult because the lack of documentation about the behaviour of the CRTDLL.DLL run-time library. For the time being, lcc-win32 implements only the catching of SIGSEGV and SIGFPE. The implementation of other signals will be d
one shortly.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669908}sin{\*\bkmkend _Toc439669908}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double sin(double x);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sin }{\f188\fs24 functions compute the sine of }{\b\f189\fs24 x }{\f188\fs24 (measured in radians).
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sin }{\f188\fs24 functions return the sine value.
\par }\pard \widctlpar {\f188\fs24 
\par If you use the optimization option within lcc-win32 this function will be always inlined.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669909}sinh{\*\bkmkend _Toc439669909}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double sinh(double x);
\par float sinhf(float x);
\par long double sinhl(long double x);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sinh }{\f188\fs24 functions compute the hyperbolic sine of }{\b\f189\fs24 x}{\f188\fs24 . A range error occurs if the magnitude of }{\b\f189\fs24 x }{\f188\fs24 is too large.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sinh }{\f188\fs24 functions return the hyperbolic sine value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669910}sprintf{\*\bkmkend _Toc439669910}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int sprintf(char * restrict s,const char * restrict format, ...);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sprintf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fprintf}{\f188\fs24 ,except that the output is written into
\par an array (specified by the argument }{\b\f189\fs24 s}{\f188\fs24 ) rather than to a stream. A null character is written
\par }\pard \widctlpar {\f188\fs24 at the end of the characters written; it is not counted as part of the returned value. If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sprintf }{\f188\fs24 function returns the number of characters written in the array, not counting the terminating null character, or a neg ative value if an encoding error occurred.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669911}sqrt{\*\bkmkend _Toc439669911}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double sqrt(double x);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sqrt }{\f188\fs24 functions compute the nonnegative square root of }{\b\f189\fs24 x}{\f188\fs24 . A domain error occurs if
\par }\pard \widctlpar {\f188\fs24 the argument is less than zero.
\par }{\b\f190\fs24 Returns
\par }\pard \ri240\sl-220\slmult0\widctlpar {\f188\fs24 The }{\b\f189\fs24 sqrt }{\f188\fs24 functions return the value of the square root.
\par 
\par }{\b\fs24 Example\~:
\par }{\f11 
\par #include <math.h>
\par #include <stdio.h>
\par #include <stdlib.h>
\par 
\par void main( void )
\par \{
\par    double input = 78.23, answer;
\par 
\par    answer = sqrt( input );
\par    if( input < 0 )
\par       printf( "Error: sqrt returns %.2f\\n, answer" );
\par    else
\par       printf( "The square root of %.2f is %.2f\\n", input, answer );
\par \}
\par 
\par The square root of 78.23 is 8.84
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669912}srand{\*\bkmkend _Toc439669912}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par void srand(unsigned int seed);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 srand }{\f188\fs24 function uses the argument as a seed for a new sequence of pseudo-random
\par numbers to be returned by subsequent calls to }{\b\f189\fs24 rand}{\f188\fs24 .If}{\b\f189\fs24 srand }{\f188\fs24 is then called with the
\par same seed value, the sequence of pseudo-random numbers shall be repeated. If }{\b\f189\fs24 rand }{\f188\fs24 is
\par called before any calls to }{\b\f189\fs24 srand }{\f188\fs24 have been made, the same sequence shall be generated
\par as when }{\b\f189\fs24 srand }{\f188\fs24 is first called with a seed value of 1.
\par The implementation shall behave as if no library function calls the }{\b\f189\fs24 srand }{\f188\fs24 function.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 srand }{\f188\fs24 function returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669913}sscanf{\*\bkmkend _Toc439669913}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int sscanf(const char * restrict s,const char * restrict format, ...);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sscanf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fscanf}{\f188\fs24 ,except that input is obtained from a string (specified by the argument }{\b\f189\fs24 s}{\f188\fs24 
) rather than from a stream. Reaching the end of the string is equivalent to encountering end-of-file for the }{\b\f189\fs24 fscanf }{\f188\fs24 function. If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }{\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 sscanf }{\f188\fs24 function returns the value of the macro }{\b\f189\fs24 EOF }{\f188\fs24 if an input failure occurs before any conversion. Otherwise, the }{\b\f189\fs24 sscanf }{\f188\fs24 
function returns the number of input items  assigned, which can be fewer than provided for, or even zero, in the event of an early matching failure.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669914}strchr{\*\bkmkend _Toc439669914}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strchr(const char *s, int c);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strchr }{\f188\fs24 function locates the first occurrence of }{\b\f189\fs24 c }{\f188\fs24 (converted to a }{\b\f189\fs24 char}{\f188\fs24 )in the string pointed to by }{\b\f189\fs24 s}{\f188\fs24 
. The terminating null character is considered to be part of the string.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strchr }{\f188\fs24 function returns a pointer to the located character, or a null pointer if the
\par }\pard \widctlpar {\f188\fs24 character does not occur in the string.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669915}strcmp{\*\bkmkend _Toc439669915}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int strcmp(const char *s1, const char *s2);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcmp }{\f188\fs24 function compares the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcmp }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the string
\par }\pard \widctlpar {\f188\fs24 pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669916}strcmpi , stricmp , _strcmpi , _stricmp{\*\bkmkend _Toc439669916}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 
\par Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int strcmpi(const char *s1, const char *s2);
\par int stricmp(const char *s1, const char *s2);
\par 
\par 
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcmpi }{\f188\fs24 function compares the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the string pointed to by }{\b\f189\fs24 s2 }{\fs24 ignoring case differences between each letter}{
\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcmpi }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the string
\par }\pard \widctlpar {\f188\fs24 pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f188\fs24 Remarks\~:
\par }\pard \widctlpar {\f188\fs24 Lcc-win32 defines both with and without underscores for your convenience. Microsofts supports the names with underscores.
\par }\pard \widctlpar {\f188\fs24 Actually, in CRTDLL.DLL only _strcmpi is exported.
\par 
\par }\pard \widctlpar {\b\fs24 Portability\~:
\par }{\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669917}strcoll{\*\bkmkend _Toc439669917}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int strcoll(const char *s1, const char *s2);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcoll }{\f188\fs24 function compares the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 , both interpreted as appropriate to the }{
\b\f189\fs24 LC_COLLATE }{\f188\fs24 category of the current locale.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcoll }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 when both are interpreted as appropriate to the current locale.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669918}strcpy{\*\bkmkend _Toc439669918}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strcpy(char * restrict s1,const char * restrict s2);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcpy }{\f188\fs24 function copies the string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 (including the terminating null character) into the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcpy }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669919}strcspn{\*\bkmkend _Toc439669919}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par size_t strcspn(const char *s1, const char *s2);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcspn }{\f188\fs24 function computes the length of the maximum initial segment of the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 which consists entirely of characters }{\i\f191\fs24 not }{
\f188\fs24 from the string pointed to by
\par }\pard \widctlpar {\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strcspn }{\f188\fs24 function returns the length of the segment.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669920}_strdate{\*\bkmkend _Toc439669920}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \widctlpar {\b\fs24 Synopsis\~:
\par 
\par }\pard \widctlpar {\f26 #include <time.h>
\par char *_strdate(char *datestr)\~;
\par }\pard \widctlpar 
\par \pard \widctlpar {\b\fs24 Description\~:
\par }\pard \ri240\sa120\widctlpar {\fs24 The }{\b\fs24 _strdate}{\fs24  function copies a date to the buffer pointed to by }{\i\fs24 datestr,}{\fs24  formatted }{\i\fs24 mm}{\fs24 /}{\i\fs24 dd}{\fs24 /}{\i\fs24 yy}{\fs24 , where }{\i\fs24 mm}{\fs24 
 is two digits representing the month, }{\i\fs24 dd}{\fs24  is two digits representing the day, and }{\i\fs24 yy}{\fs24 
 is the last two digits of the year. For example, the string 12/05/99 represents December 5, 1999. The buffer must be at least 9 bytes long.
\par }\pard \ri240\sa120\widctlpar {\fs24 
\par }{\b\fs24 Example\~:
\par }\pard \ri240\sa120\widctlpar {\f11 #include <time.h>
\par #include <stdio.h>
\par void main(void)
\par \{
\par \tab char buf[25];
\par 
\par \tab printf("The date is %s\\n",strdate(buf));
\par \}
\par The date is 12/28/98
\par }\pard \ri240\sa120\widctlpar {\b\fs24 Remarks\~:}{\fs24 
\par The locale settings aren\rquote t used by this function.
\par Lcc-win32 defines both strdate AND _strdate.
\par 
\par }\pard \widctlpar 
\par \pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669921}strftime{\*\bkmkend _Toc439669921}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t strftime(char * restrict s,size_t maxsize,const char * restrict format,const struct tm * restrict timeptr);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strftime }{\f188\fs24 function places characters into the array pointed to by }{\b\f189\fs24 s }{\f188\fs24 as controlled by the string pointed to by }{\b\f189\fs24 format}{\f188\fs24 
. The format shall be a multibyte character sequence, beginning and ending in its initial shift state. The }{\b\f189\fs24 format }{\f188\fs24 
string consists of zero or more conversion specifiers and ordinary multibyte characters. A conversion specifier consists of a }{\b\f189\fs24 % }{\f188\fs24 character, possibly followed by an }{\b\f189\fs24 E }{\f188\fs24 or }{\b\f189\fs24 O }{\f188\fs24 
modifier character (described below),  followed by 
a character that determines the behavior of the conversion specifier. All  ordinary multibyte characters (including the terminating null character) are copied unchanged into the array. If copying takes place between objects that overlap, the behavior is u
ndefined. No more than }{\b\f189\fs24 maxsize }{\f188\fs24 characters are placed into the array. 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 Each conversion specifier is replaced by appropriate characters as described in the following list. The appropriate characters are determined using the }{\b\f189\fs24 LC_TIME }{\f188\fs24 category of the current lo
cale and by the values of zero or more members of the broken-down time structure pointed to by }{\b\f189\fs24 timeptr}{\f188\fs24 
, as specified in brackets in the description. If any of the specified values is outside the normal range, the characters stored are unspecified.
\par }\pard \widctlpar {\b\f189\fs24 %a }{\f188\fs24 is replaced by the locale\rquote s abbreviated weekday name. [}{\b\f189\fs24 tm_wday}{\f188\fs24 ]
\par }{\b\f189\fs24 %A }{\f188\fs24 is replaced by the locale\rquote s full weekday name. [}{\b\f189\fs24 tm_wday}{\f188\fs24 ]
\par }{\b\f189\fs24 %b }{\f188\fs24 is replaced by the locale\rquote s abbreviated month name. [}{\b\f189\fs24 tm_mon}{\f188\fs24 ]
\par }{\b\f189\fs24 %B }{\f188\fs24 is replaced by the locale\rquote s full month name. [}{\b\f189\fs24 tm_mon}{\f188\fs24 ]
\par }{\b\f189\fs24 %c }{\f188\fs24 is replaced by the locale\rquote s appropriate date and time representation. 
\par }\pard \qj\widctlpar {\b\f189\fs24 %C }{\f188\fs24 is replaced by the year divided by 100 and truncated to an integer, as a decimal number               (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 99}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{
\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %d }{\f188\fs24 is replaced by the day of the month as a decimal number (}{\b\f189\fs24 01}{\f188\fs24 \'ad}{\b\f189\fs24 31}{\f188\fs24 ). [}{\b\f189\fs24 tm_mday}{\f188\fs24 ]
\par }{\b\f189\fs24 %D }{\f188\fs24 is equivalent to \lquote \lquote }{\b\f189\fs24 %m/%d/%y}{\f188\fs24 \rquote \rquote  . [ }{\b\f189\fs24 tm_mon}{\f188\fs24 , }{\b\f189\fs24 tm_mday}{\f188\fs24 , }{\b\f189\fs24 tm_year}{\f188\fs24 ]
\par }\pard \qj\widctlpar {\b\f189\fs24 %e }{\f188\fs24 is replaced by the day of the month as a decimal number (}{\b\f189\fs24 1}{\f188\fs24 \'ad}{\b\f189\fs24 31}{\f188\fs24 ); a single digit is preceded by a space. [}{\b\f189\fs24 tm_mday}{\f188\fs24 ]

\par }{\b\f189\fs24 %F }{\f188\fs24 is equivalent to \lquote \lquote }{\b\f189\fs24 %Y\'ad%m\'ad%d}{\f188\fs24 \rquote \rquote  (the ISO 8601 date format). [}{\b\f189\fs24 tm_year}{\f188\fs24 , }{\b\f189\fs24 tm_mon}{\f188\fs24 , }{\b\f189\fs24 tm_mday}{
\f188\fs24 ]
\par }{\b\f189\fs24 %g }{\f188\fs24 is replaced by the last 2 digits of the week-based year (see below) as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 99}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{\f188\fs24 , }{\b\f189\fs24 tm_wday}{
\f188\fs24 , }{\b\f189\fs24 tm_yday}{\f188\fs24 ]
\par }{\b\f189\fs24 %G }{\f188\fs24 is replaced by the week-based year (see below) as a decimal number (e.g., 1997).  [}{\b\f189\fs24 tm_year}{\f188\fs24 , }{\b\f189\fs24 tm_wday}{\f188\fs24 , }{\b\f189\fs24 tm_yday}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %h }{\f188\fs24 is equivalent to \lquote \lquote }{\b\f189\fs24 %b}{\f188\fs24 \rquote \rquote  . [ }{\b\f189\fs24 tm_mon}{\f188\fs24 ]
\par }{\b\f189\fs24 %H }{\f188\fs24 is replaced by the hour (24-hour clock) as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 23}{\f188\fs24 ). [}{\b\f189\fs24 tm_hour}{\f188\fs24 ]
\par }{\b\f189\fs24 %I }{\f188\fs24 is replaced by the hour (12-hour clock) as a decimal number (}{\b\f189\fs24 01}{\f188\fs24 \'ad}{\b\f189\fs24 12}{\f188\fs24 ). [}{\b\f189\fs24 tm_hour}{\f188\fs24 ]
\par }{\b\f189\fs24 %j }{\f188\fs24 is replaced by the day of the year as a decimal number (}{\b\f189\fs24 001}{\f188\fs24 \'ad}{\b\f189\fs24 366}{\f188\fs24 ). [}{\b\f189\fs24 tm_yday}{\f188\fs24 ]
\par }{\b\f189\fs24 %m }{\f188\fs24 is replaced by the month as a decimal number (}{\b\f189\fs24 01}{\f188\fs24 \'ad}{\b\f189\fs24 12}{\f188\fs24 ). [}{\b\f189\fs24 tm_mon}{\f188\fs24 ]
\par }{\b\f189\fs24 %M }{\f188\fs24 is replaced by the minute as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 59}{\f188\fs24 ). [}{\b\f189\fs24 tm_min}{\f188\fs24 ]
\par }{\b\f189\fs24 %n }{\f188\fs24 is replaced by a new-line character.
\par }\pard \qj\widctlpar {\b\f189\fs24 %p }{\f188\fs24 is replaced by the locale\rquote s equivalent of the AM/PM designations associated with a 12-hour clock. [}{\b\f189\fs24 tm_hour}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %r }{\f188\fs24 is replaced by the locale\rquote s 12-hour clock time. [}{\b\f189\fs24 tm_hour}{\f188\fs24 , }{\b\f189\fs24 tm_min}{\f188\fs24 , }{\b\f189\fs24 tm_sec}{\f188\fs24 ]
\par }{\b\f189\fs24 %R }{\f188\fs24 is equivalent to \lquote \lquote }{\b\f189\fs24 %H:%M}{\f188\fs24 \rquote \rquote  . [ }{\b\f189\fs24 tm_hour}{\f188\fs24 , }{\b\f189\fs24 tm_min}{\f188\fs24 ]
\par }{\b\f189\fs24 %S }{\f188\fs24 is replaced by the second as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 60}{\f188\fs24 ). [}{\b\f189\fs24 tm_sec}{\f188\fs24 ]
\par }{\b\f189\fs24 %t }{\f188\fs24 is replaced by a horizontal-tab character.
\par }\pard \qj\widctlpar {\b\f189\fs24 %T }{\f188\fs24 is equivalent to \lquote \lquote }{\b\f189\fs24 %H:%M:%S}{\f188\fs24 \rquote \rquote  (the ISO 8601 time format). [}{\b\f189\fs24 tm_hour}{\f188\fs24 , }{\b\f189\fs24 tm_min}{\f188\fs24 , }{\b\f189\fs24 
tm_sec}{\f188\fs24 ]
\par }{\b\f189\fs24 %u }{\f188\fs24 is replaced by the ISO 8601 weekday as a decimal number (}{\b\f189\fs24 1}{\f188\fs24 \'ad}{\b\f189\fs24 7}{\f188\fs24 )}{\b\f189\fs24 , }{\f188\fs24 where Monday is 1. [}{\b\f189\fs24 tm_wday}{\f188\fs24 ]
\par }{\b\f189\fs24 %U }{\f188\fs24 is replaced by the week number of the year (the first Sunday as the first day of week 1) as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 53}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{\f188\fs24 , }{
\b\f189\fs24 tm_wday}{\f188\fs24 , }{\b\f189\fs24 tm_yday}{\f188\fs24 ] 
\par }\pard \widctlpar {\b\f189\fs24 %V }{\f188\fs24 is replaced by the ISO 8601 week number (see below) as a decimal number (}{\b\f189\fs24 01}{\f188\fs24 \'ad}{\b\f189\fs24 53}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{\f188\fs24 , }{\b\f189\fs24 tm_wday}{
\f188\fs24 , }{\b\f189\fs24 tm_yday}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %w }{\f188\fs24 is replaced by the weekday as a decimal number (}{\b\f189\fs24 0}{\f188\fs24 \'ad}{\b\f189\fs24 6}{\f188\fs24 ), where Sunday is 0. [}{\b\f189\fs24 tm_wday}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %W }{\f188\fs24 is replaced by the week number of the year (the first Monday as the first day of week 1) as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 53}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{
\f188\fs24 , }{\b\f189\fs24 tm_wday}{\f188\fs24 , }{\b\f189\fs24 tm_yday}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %x }{\f188\fs24 is replaced by the locale\rquote s appropriate date representation.
\par }{\b\f189\fs24 %X }{\f188\fs24 is replaced by the locale\rquote s appropriate time representation. 
\par }{\b\f189\fs24 %y }{\f188\fs24 is replaced by the last 2 digits of the year as a decimal number (}{\b\f189\fs24 00}{\f188\fs24 \'ad}{\b\f189\fs24 99}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{\f188\fs24 ]
\par }{\b\f189\fs24 %Y }{\f188\fs24 is replaced by the year as a decimal number (e.g., }{\b\f189\fs24 1997}{\f188\fs24 ). [}{\b\f189\fs24 tm_year}{\f188\fs24 ]
\par }\pard \qj\widctlpar {\b\f189\fs24 %z }{\f188\fs24 is replaced by the offset from UTC in the ISO 8601 format \lquote \lquote }{\b\f189\fs24 \'ad0430}{\f188\fs24 \rquote \rquote 
 (meaning 4 hours 30 minutes behind UTC, west of Greenwich), or by no characters if no time zone is determinable. [}{\b\f189\fs24 tm_isdst}{\f188\fs24 ]
\par }\pard \qj\widctlpar {\b\f189\fs24 %Z }{\f188\fs24 is replaced by the locale\rquote s time zone name or abbreviation, or by no characters if no time zone is determinable. [}{\b\f189\fs24 tm_isdst}{\f188\fs24 ]
\par }\pard \widctlpar {\b\f189\fs24 %% }{\f188\fs24 is replaced by }{\b\f189\fs24 %}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\li1701\ri1701\widctlpar {\f188 Some conversion specifiers can be modified by the inclusion of the }{\b\f189 E }{\f188 or }{\b\f189 O }{\f188 
modifier characters to indicate an alternative format or specification. If the alternative format or specification does not exist for the current locale, the modifier is ignored. 
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %Ec }{\f188 is replaced by the locale\rquote s alternative date and time representation.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 %EC }{\f188 is replaced by the name of the base year (period) in the locale\rquote s alternative representation.
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %Ex }{\f188 is replaced by the locale\rquote s alternative date representation.
\par }{\b\f189 %EX }{\f188 is replaced by the locale\rquote s alternative time representation.
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %Ey }{\f188 is replaced by the offset from }{\b\f189 %EC }{\f188 (year only) in the locale\rquote s alternative representation.
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %EY }{\f188 is replaced by the locale\rquote s full alternative year representation.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 %Od }{\f188 is replaced by the day of the month, using the locale\rquote s alternative numeric symbols (filled as needed with leading zeros, or with leading spaces if there is no alternative symbol for zero).

\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 %Oe }{\f188 is replaced by the day of the month, using the locale\rquote s alternative numeric symbols (filled as needed with leading spaces).
\par }{\b\f189 %OH }{\f188 is replaced by the hour (24-hour clock), using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %OI }{\f188 is replaced by the hour (12-hour clock), using the locale\rquote s alternative numeric symbols.
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %Om }{\f188 is replaced by the month, using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %OM }{\f188 is replaced by the minutes, using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %OS }{\f188 is replaced by the seconds, using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %Ou }{\f188 is replaced by the ISO 8601 weekday as a number in the locale\rquote s alternative representation, where Monday is 1.
\par }{\b\f189 %OU }{\f188 is replaced by the week number, using the locale\rquote s alternative numeric symbols.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 %OV }{\f188 is replaced by the ISO 8601 week number, using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %Ow }{\f188 is replaced by the weekday as a number, using the locale\rquote s alternative numeric symbols.
\par }\pard \li1701\ri1701\widctlpar {\b\f189 %Ou }{\f188 is replaced by the week number of the year, using the locale\rquote s alternative numeric symbols.
\par }{\b\f189 %Oy }{\f188 is replaced by the last 2 digits of the year, using the locale\rquote s alternative numeric symbols.
\par }\pard \qj\li1701\ri1701\widctlpar {\b\f189 %g}{\f188 , }{\b\f189 %G}{\f188 , and }{\b\f189 %V }{\f188 
give values according to the ISO 8601 week-based year. In this system, weeks begin on a Monday and week 1 of the year is the week that includes January 4th, which is also the 
week that includes the first Thursday of the year, and is also the first week that contains at least four days in the year. If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of the last week of the preceding year; thus, f
or Saturday 2nd January 1999, }{\b\f189 %G }{\f188 is replaced by }{\b\f189 1998 }{\f188 and }{\b\f189 %V }{\f188 is replaced by }{\b\f189 53}{\f188 
.If December 29th, 30th, or 31st is a Monday, it and any following days are part of week 1 of the following year. Thus, for Tuesday 30th December 1997, }{\b\f189 %G }{\f188 is replaced by }{\b\f189 1998 }{\f188 and }{\b\f189 %V }{\f188 is replaced by }{
\b\f189 1}{\f188 .
\par }\pard \qj\li1701\ri1701\widctlpar {\f188 Not implemented in CRTDLL.DLL
\par }\pard \widctlpar {\f188\fs24 
\par If a conversion specifier is not one of the above, the behavior is undefined.
\par 
\par }\pard \widctlpar {\f188\fs24 In the }{\b\f189\fs24 "C" }{\f188\fs24 locale, the }{\b\f189\fs24 E }{\f188\fs24 and }{\b\f189\fs24 O }{\f188\fs24 modifiers are ignored and the replacement strings for the
\par }\pard \widctlpar {\f188\fs24 following specifiers are:
\par }\pard \widctlpar {\b\f189\fs24 %a }{\f188\fs24 the first three characters of }{\b\f189\fs24 %A}{\f188\fs24 .
\par }{\b\f189\fs24 %A }{\f188\fs24 one of \lquote \lquote }{\b\f189\fs24 Sunday}{\f188\fs24 \rquote \rquote  , \lquote \lquote  }{\b\f189\fs24 Monday}{\f188\fs24 \rquote \rquote , ... , \lquote \lquote }{\b\f189\fs24 Saturday}{\f188\fs24 \rquote \rquote  .

\par }{\b\f189\fs24 %b }{\f188\fs24 the first three characters of }{\b\f189\fs24 %B}{\f188\fs24 .
\par }{\b\f189\fs24 %B }{\f188\fs24 one of \lquote \lquote }{\b\f189\fs24 January}{\f188\fs24 \rquote \rquote  , \lquote \lquote  }{\b\f189\fs24 February}{\f188\fs24 \rquote \rquote , ... , \lquote \lquote }{\b\f189\fs24 December}{\f188\fs24 \rquote \rquote  .

\par }{\b\f189\fs24 %c }{\f188\fs24 equivalent to \lquote \lquote }{\b\f189\fs24 %A %B %d %T %Y}{\f188\fs24 \rquote \rquote  .
\par }{\b\f189\fs24 %p }{\f188\fs24 one of \lquote \lquote }{\b\f189\fs24 am}{\f188\fs24 \rquote \rquote  or \lquote \lquote  }{\b\f189\fs24 pm}{\f188\fs24 \rquote \rquote  .
\par }{\b\f189\fs24 %r }{\f188\fs24 equivalent to \lquote \lquote }{\b\f189\fs24 %I:%M:%S %p}{\f188\fs24 \rquote \rquote  .
\par }{\b\f189\fs24 %x }{\f188\fs24 equivalent to \lquote \lquote }{\b\f189\fs24 %A %B %d %Y}{\f188\fs24 \rquote \rquote  .
\par }{\b\f189\fs24 %X }{\f188\fs24 equivalent to }{\b\f189\fs24 %T}{\f188\fs24 .
\par }{\b\f189\fs24 %Z }{\f188\fs24 implementation-defined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the total number of resulting characters including the terminating null character is not  more than }{\b\f189\fs24 maxsize}{\f188\fs24 , the }{\b\f189\fs24 strftime }{\f188\fs24 
function returns the number of characters placed into the array pointed to by }{\b\f189\fs24 s }{\f188\fs24 not including the terminating null character. Otherwise, zero is returned and the contents of the array are indeterminate.}{\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669922}strlen{\*\bkmkend _Toc439669922}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par size_t strlen(const char *s);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strlen }{\f188\fs24 function computes the length of the string pointed to by }{\b\f189\fs24 s}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strlen }{\f188\fs24 function returns the number of characters that precede the terminating null character.
\par }\pard \widctlpar {\f188\fs24 Note\~: If the optimization option is choosen, lcc-win32 will inline this function.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669923}strlwr{\*\bkmkend _Toc439669923}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par size_t strlwr(const char *s);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strlwr }{\f188\fs24 function coverts its input string in lowercase
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strlwr }{\f188\fs24 function returns a pointer to the converted string.
\par }\pard \widctlpar {\b\f188\fs24 Portability\~:
\par }{\f188\fs24 Windows function
\par 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669924}strncat{\*\bkmkend _Toc439669924}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strncat(char * restrict s1,const char * restrict s2,
\par size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strncat }{\f188\fs24 function appends not more than }{\b\f189\fs24 n }{\f188\fs24 characters (a null character and characters that follow it are not appended) from the array pointed to by }{\b\f189\fs24 
s2 }{\f188\fs24 to the end of the string pointed to by }{\b\f189\fs24 s1}{\f188\fs24 . The initial character of }{\b\f189\fs24 s2 }{\f188\fs24 overwrites the null character at the end of }{\b\f189\fs24 s1}{\f188\fs24 
. A terminating null character is always appended to the result.}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 Thus, the maximum number of 
characters that can end up in the array pointed to by }{\b\f189 s1 }{\f188 is
\par }\pard\plain \s24\widctlpar \f4\fs20\lang1036 {\b\f189 strlen(s1)+n+1}{\f188 .}}}{\f188\fs18  }{\f188\fs24 If copying takes place between objects that overlap, the behavior is undefined. 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strncat }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669925}strncmp , strnicmp{\*\bkmkend _Toc439669925}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par int strncmp(const char *s1, const char *s2, size_t n);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strncmp }{\f188\fs24 function compares not more than }{\b\f189\fs24 n }{\f188\fs24 characters (characters that follow a null character are not compared) from the array pointed to by }{\b\f189\fs24 s1 }{
\f188\fs24 to the array pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strncmp }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the possibly null-terminated array pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the possibly null-terminated array pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 
\par Strnicmp ignores the case when comparing the strings.
\par }{\b\f188\fs24 Portability\~:}{\f188\fs24 
\par strnicmp is a strictly windows function.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669926}strncpy{\*\bkmkend _Toc439669926}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strncpy(char * restrict s1,
\par const char * restrict s2,
\par size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strncpy }{\f188\fs24 function copies not more than }{\b\f189\fs24 n }{\f188\fs24 characters (characters that follow a null character are not copied) from the array pointed to by }{\b\f189\fs24 s2 }{
\f188\fs24 to the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 .}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 Thus, if there is no null character in the first }{\b\f189 n }{\f188 
characters of the array pointed to by }{\b\f189 s2}{\f188 , the result will
\par }\pard\plain \s24\widctlpar \f4\fs20\lang1036 {\f188 not be null-terminated.}}}{\f188\fs18  }{\f188\fs24 If copying takes place between objects that overlap, the behavior is undefined. 
\par If the array pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 is a string that is shorter than }{\b\f189\fs24 n }{\f188\fs24 characters, null characters are appended to the copy in the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 , until }{\b\f189\fs24 
n }{\f188\fs24 characters in all have been written.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strncpy }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page } {\*\bkmkstart _Toc439669927}strpbrk{\*\bkmkend _Toc439669927}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strpbrk(const char *s1, const char *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strpbrk }{\f188\fs24 function locates the first occurrence in the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 of any character from the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strpbrk }{\f188\fs24 function returns a pointer to the character, or a null pointer if no character from }{\b\f189\fs24 s2 }{\f188\fs24 occurs in }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669928}strrchr{\*\bkmkend _Toc439669928}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strrchr(const char *s, int c);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strrchr }{\f188\fs24 function locates the last occurrence of }{\b\f189\fs24 c }{\f188\fs24 (converted to a }{\b\f189\fs24 char}{\f188\fs24 ) in the
\par }\pard \qj\widctlpar {\f188\fs24 string pointed to by }{\b\f189\fs24 s}{\f188\fs24 . The terminating null character is considered to be part of the string.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strrchr }{\f188\fs24 function returns a pointer to the character, or a null pointer if }{\b\f189\fs24 c }{\f188\fs24 does not occur in the string.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669929}strspn{\*\bkmkend _Toc439669929}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par size_t strspn(const char *s1, const char *s2);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strspn }{\f188\fs24 function computes the length of the maximum initial segment of the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
which consists entirely of characters from the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 strspn }{\f188\fs24 function returns the length of the segment.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669930}strstr{\*\bkmkend _Toc439669930}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strstr(const char *s1, const char *s2);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strstr }{\f188\fs24 function locates the first occurrence in the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
of the  sequence of characters (excluding the terminating null character) in the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strstr }{\f188\fs24 function returns a pointer to the located string, or a null pointer if the string is not found. If }{\b\f189\fs24 s2 }{\f188\fs24 
points to a string with zero length, the function returns }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669931}strtod{\*\bkmkend _Toc439669931}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 double strtod(const char * restrict nptr, char ** restrict endptr);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strtod }{\f188\fs24 function converts the initial portion of the string pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 double}{\f188\fs24 , }{\b\f189\fs24 float}{\f188\fs24 , and }{
\b\f189\fs24 long double }{\f188\fs24 representation, respectively. First, they decompose the input string into three parts: an initial, possibly empty, sequence of white-space characters (as specified by the }{\b\f189\fs24 isspace }{\f188\fs24 
function), a subject sequence resembling a floating-point constant or representing an infinity or NaN; and a final string of one or more unrecognized characters, including the terminating null character of the input string. Then, they attempt to convert t
he subject sequence to a floating-point number, and return the result.
\par }\pard \qj\widctlpar {\f188\fs24 The expected form of the subject sequence is an optional plus or minus sign, then one of the following:
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 
a nonempty sequence of decimal digits optionally containing a decimal-point character, then an optional exponent part as defined in 6.4.4.2;
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 a}{\b\f189\fs24 0x }{\f188\fs24 or }{\b\f189\fs24 0X}{\f188\fs24 
, then a nonempty sequence of hexadecimal digits optionally containing a decimal-point character, then an optional binary-exponent part as defined in 6.4.4.2, where either the decimal-point character or the binary-exponent part is present;
\par {\pntext\pard\plain\f1 \'b7\tab}}\pard \fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f188\fs24 one of }{\b\f189\fs24 INF }{\f188\fs24 or }{\b\f189\fs24 INFINITY}{\f188\fs24 , ignoring case
\par {\pntext\pard\plain\i\f1 \'b7\tab}one of }{\b\f189\fs24 NAN }{\f188\fs24 or }{\b\f189\fs24 NAN(}{\i\f191\fs24 n-char-sequence }{\i\f191\fs22 opt }{\b\f189\fs24 )}{\f188\fs24 , ignoring case in the }{\b\f189\fs24 NAN }{\f188\fs24 part, where:}{
\i\f191\fs24 
\par }\pard \widctlpar {\i\f191\fs24 n-char-sequence:
\par digit
\par nondigit
\par n-char-sequence digit
\par n-char-sequence nondigit
\par }\pard \qj\widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
The subject sequence is defined as the longest initial subsequence of the input string, starting with the first non-white-space character, that is of the expected form. The subject sequence contains no characters if the input string is not of the expected
 form. If the subject sequ
ence has the expected form for a floating-point number, the sequence of characters starting with the first digit or the decimal-point character (whichever occurs first) is interpreted as a floating constant according to the rules of 6.4.4.2, except that t
he decimal-point character is used in place of a period, and that if neither an exponent part, a binary-exponent part, nor a decimal-point character appears, a decimal point is assumed to follow the last digit in the string. A character sequence }{
\b\f189\fs24 INF }{\f188\fs24 or }{\b\f189\fs24 INFINITY }{\f188\fs24 is interpreted as an infinity, if representable in the return type, else like a floating constant that is too large for the range of the return type. A character sequence }{
\b\f189\fs24 NAN }{\f188\fs24 or}{\b\f189\fs24  NAN(}{\i\f191\fs24 n-char-sequence }{\i\f191\fs22 opt }{\b\f189\fs24 )}{\f188\fs24 
, is interpreted as a quiet NaN, if supported in the return type, else like a subject sequence part that does not have the expected form; the meaning of the n-char sequences is implementation-defined.}{\f188\fs18 233) }{\f188\fs24 
If the subject sequence begins with a minus sign, the value resulting from the conversion is negated.}{\f188\fs18 234) }{\f188\fs24 A pointer to the final string is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 , provided that }{
\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer.
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence has the hexadecimal form and }{\b\f189\fs24 FLT_RADIX }{\f188\fs24 is a power of 2, then the value resulting from the conversion is correctly rounded.
\par In other than the }{\b\f189\fs24 "C" }{\f188\fs24 locale, additional locale-specific subject sequence forms may be accepted.
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence is empty or does not have the expected form, no conversion is performed; the value of }{\b\f189\fs24 nptr }{\f188\fs24 is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 
, provided that }{\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer. }{\f1\fs24 
\par }\pard \widctlpar {\b\f190\fs24 
\par Recommended practice
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence has the hexadecimal form and }{\b\f189\fs24 FLT_RADIX }{\f188\fs24 
is not a power of 2, then the result should be one of the two numbers in the appropriate internal format that are adjacent to the hexadecimal floating source value, with the extra stipulation that the error should have a correct sign for the current round
ing direction.
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence has the decimal form and at most }{\b\f189\fs24 DECIMAL_DIG }{\f188\fs24 (defined in }{\b\f189\fs24 <float.h>}{\f188\fs24 ) 
significant digits, then the value resulting from the conversion should be correctly rounded. If the subject sequence }{\i\f191\fs24 D }{\f188\fs24 has the decimal form and more than }{\b\f189\fs24 DECIMAL_DIG }{\f188\fs24 
significant digits, consider the two bounding, adjacent decimal strings }{\i\f191\fs24 L }{\f188\fs24 and }{\i\f191\fs24 U}{\f188\fs24 , both having }{\b\f189\fs24 DECIMAL_DIG }{\f188\fs24 significant digits, such that the values of }{\i\f191\fs24 L}{
\f188\fs24 , }{\i\f191\fs24 D}{\f188\fs24 , and }{\i\f191\fs24 U }{\f188\fs24 satisfy }{\i\f191\fs24 L }{\f1\fs24 \'a3 }{\i\f191\fs24 D }{\f1\fs24 \'a3 }{\i\f191\fs24 U}{\f188\fs24 
. The result of conversion should be one of the (equal or adjacent) values that would be obtained by correctly rounding }{\i\f191\fs24 L }{\f188\fs24 and }{\i\f191\fs24 U }{\f188\fs24 according to the current rounding direc
tion, with the extra stipulation that the error with respect to }{\i\f191\fs24 D }{\f188\fs24 should have a correct sign for the current rounding direction.}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The functions return the converted value, if any. If no conversion could be performed, zero is returned. If the correct value is outside the range of representable values, plus or minus }{\b\f189\fs24 HUGE_VAL}{\f188\fs24 
, }{\b\f189\fs24 HUGE_VALF}{\f188\fs24 ,or}{\b\f189\fs24 HUGE_VALL }{\f188\fs24 is returned (according to the return type and sign of the value), and the value of the macro }{\b\f189\fs24 ERANGE }{\f188\fs24 is stored in }{\b\f189\fs24 errno}{\f188\fs24 
.If the result underflows (7.12.1), the functions return a value whose magnitude is no greater than the smallest normalized positive number in the return type; whether }{\b\f189\fs24 errno }{\f188\fs24 acquires the value }{\b\f189\fs24 ERANGE }{
\f188\fs24 is implementation-defined.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669932}strtok{\*\bkmkend _Toc439669932}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par char *strtok(char * restrict s1,const char * restrict s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 A sequence of calls to the }{\b\f189\fs24 strtok }{\f188\fs24 function breaks the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
into a sequence of tokens, each of which is delimited by a character from the string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 . The first call in the sequence has
 a non-null first argument; subsequent calls in the sequence have a null first argument. The separator string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 may be different from call to call.
\par }\pard \qj\widctlpar {\f188\fs24 The first call in the sequence searches the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 for the first character that is }{\i\f191\fs24 not }{\f188\fs24 contained in the current separator string pointed to by }{
\b\f189\fs24 s2}{\f188\fs24 . If no such character is found, then there are no tokens in the string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 and the }{\b\f189\fs24 strtok }{\f188\fs24 
function returns a null pointer. If such a character is found, it is the start of the first token. 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669933}strtol{\f190 ,  }strtoul{\f190 {\*\bkmkend _Toc439669933}
\par }\pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 long int strtol(const char * restrict nptr,char ** restrict endptr,int base);
\par }\pard \widctlpar {\b\f189\fs24 unsigned long int strtoul(const char * restrict nptr,
\par char ** restrict endptr,int base);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strtol}{\f188\fs24 ,  and }{\b\f189\fs24 strtoul }{\f188\fs24 functions convert the initial portion of the string pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 long int}{\f188\fs24 , }
{\b\f189\fs24 long long int}{\f188\fs24 , }{\b\f189\fs24 unsigned long int}{\f188\fs24 , and }{\b\f189\fs24 unsigned long long int }{\f188\fs24 representation, respectively. First, they decompose the input string into three parts: an initial,
 possibly empty, sequence of white-space characters (as specified by the }{\b\f189\fs24 isspace }{\f188\fs24 function), a subject sequence resembling an integer represented in some radix determined by the value of }{\b\f189\fs24 base}{\f188\fs24 
, and a final string of one or more unrecognized characters, including the terminating null character of the input string. Then, they attempt to convert the subject sequence to an integer, and return the result.
\par }\pard \qj\widctlpar {\f188\fs24 If the value of }{\b\f189\fs24 base }{\f188\fs24 is zero, the expected form of the subject sequence is that of an integer constant optiona
lly preceded by a plus or minus sign, but not including an integer suffix. If the value of }{\b\f189\fs24 base }{\f188\fs24 
is between 2 and 36 (inclusive), the expected form of the subject sequence is a sequence of letters and digits representing an integer with the radix specified by }{\b\f189\fs24 base}{\f188\fs24 
, optionally preceded by a plus or minus sign, but not including an integer suffix. The letters from }{\b\f189\fs24 a }{\f188\fs24 (or }{\b\f189\fs24 A}{\f188\fs24 ) through }{\b\f189\fs24 z }{\f188\fs24 (or }{\b\f189\fs24 Z}{\f188\fs24 
) are ascribed the values 10 through 35; only letters and digits whose ascribed values are less than that of }{\b\f189\fs24 base }{\f188\fs24 are permitted. If the value of }{\b\f189\fs24 base }{\f188\fs24 is 16, the characters }{\b\f189\fs24 0x }{
\f188\fs24 or }{\b\f189\fs24 0X }{\f188\fs24 may optionally precede the sequence of letters and digits, following the sign if present.
\par }\pard \qj\widctlpar {\f188\fs24 
The subject sequence is defined as the longest initial subsequence of the input string, starting with the first non-white-space character, that is of the expected form. The subject sequence contains no characters if the input string is empty or consists e
ntirely of white space, or if the first non-white-space character is other than a sign or a permissible letter or  digit.
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence has the expected form and the value of }{\b\f189\fs24 base }{\f188\fs24 
is zero, the sequence of characters starting with the first digit is interpreted as an integer constant according to the rules of 6.4.4.1. If the subject sequence has the expected form and the value of }{\b\f189\fs24 base }{\f188\fs24 
is between 2 and 36, it is used as the base for conversion, ascribing to each letter its value as given above. If the subject sequence begins with a minus sign, the value resulting from the conversion is negated (in the retur
n type). A pointer to the final string is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 , provided that }{\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer. 
\par }\pard \widctlpar {\f188\fs24 In other than the }{\b\f189\fs24 "C" }{\f188\fs24 locale, additional locale-specific subject sequence forms may be accepted.
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence is empty or does not have the expected form, no conversion is performed; the value of }{\b\f189\fs24 nptr }{\f188\fs24 is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 
, provided that }{\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strtol}{\f188\fs24 , and }{\b\f189\fs24 strtoul }{\f188\fs24 functions return the converted value, if any. If
 no conversion could be performed, zero is returned. If the correct value is outside the range of representable values, }{\b\f189\fs24 LONG_MIN}{\f188\fs24 , }{\b\f189\fs24 LONG_MAX}{\f188\fs24 , }{\b\f189\fs24 LLONG_MIN}{\f188\fs24 , }{\b\f189\fs24 
LLONG_MAX}{\f188\fs24 , }{\b\f189\fs24 ULONG_MAX}{\f188\fs24 ,or}{\b\f189\fs24 ULLONG_MAX }{\f188\fs24 is returned (according to the return type and sign of the value, if any), and the value of the macro }{\b\f189\fs24 ERANGE }{\f188\fs24 is stored in }{
\b\f189\fs24 errno}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669934}strxfrm{\*\bkmkend _Toc439669934}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <string.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t strxfrm(char * restrict s1,const char * restrict s2, size_t n);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strxfrm }{\f188\fs24 function transforms the string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 and places the resulting string into the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. The transformation is such that if the }{\b\f189\fs24 strcmp }{\f188\fs24 function is applied to two transformed strings, it returns a value greater than, equal to, or less than zero, corresponding to the result of the }{\b\f189\fs24 strcoll }{
\f188\fs24 function applied to the same two original strings. No more than }{\b\f189\fs24 n }{\f188\fs24 characters are placed into the resulting array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 , including the terminating null character. If }{
\b\f189\fs24 n }{\f188\fs24 is zero, }{\b\f189\fs24 s1 }{\f188\fs24 is permitted to be a null pointer. If copying takes place between objects that overlap, the behavior undefined.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 strxfrm }{\f188\fs24 function returns the length of the transformed string (not including the terminating null character). If the value returned is }{\b\f189\fs24 n }{\f188\fs24 
or more, the contents of the array pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 are indeterminate.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669935}_sopen , _wsopen{\*\bkmkend _Toc439669935}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\fs24 Synopsis\~:
\par }\pard \widctlpar {\b\f26 int}{\f26  }{\b\f26 _sopen(const}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 filename}{\b\f26 ,}{\f26  }{\b\f26 int}{\f26  }{\i\f26 oflag}{\b\f26 ,}{\f26  }{\b\f26 int}{\f26  }{\i\f26 shflag}{\f26  [}{\b\f26 ,}{\f26  }{\b\f26 
int}{\f26  }{\i\f26 pmode}{\f26  ] }{\b\f26 );}{\f26 
\par }{\b\f26 int}{\f26  }{\b\f26 _wsopen(const}{\f26  w}{\b\f26 char_t}{\f26  }{\b\f26 *}{\i\f26 filename}{\b\f26 ,int}{\f26  }{\i\f26 oflag}{\b\f26 ,int}{\f26  }{\i\f26 shflag}{\f26  [}{\b\f26 ,int}{\f26  }{\i\f26 pmode}{\f26  ] }{\b\f26 );
\par }\pard \ri240\widctlpar {\f26 
\par }\pard \ri240\widctlpar {\b\fs24 
\par Description\~:
\par }{\fs24 This functions open a file in shareable mode determined by the }{\i\fs24 shflag}{\fs24  argument.}{\b\fs24 
\par }\pard \qj\sa120\widctlpar {\fs24 They return a file handle for the opened file. A return value of \endash 1 indicates an error, in which case }{\b\fs24 errno}{\fs24  is set to one of the following values:
\par }\pard \sa60\sl-240\slmult0\widctlpar {\b\fs24 EACCES}{\fs24    Given path is a directory, or file is read-only, but an open-for-writing operation  as attempted.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 EEXIST}{\fs24    }{\b\fs24 _O_CREAT}{\fs24  and }{\b\fs24 _O_EXCL}{\fs24  flags were specified, but }{\i\fs24 filename}{\fs24  already exists.
\par }{\b\fs24 EINVAL}{\fs24    Invalid }{\i\fs24 oflag}{\fs24  or }{\i\fs24 shflag}{\fs24  argument.
\par }{\b\fs24 EMFILE}{\fs24    No more file handles available.
\par }{\b\fs24 ENOENT}{\fs24    File or path not found.
\par }\pard \ri240\sa120\widctlpar {\fs24 
\par }\pard \qj\sa120\widctlpar {\fs24 The argument }{\i\fs24 shflag}{\fs24  is a constant expression consisting of one of the following manifest constants, defined in SHARE.H.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b _SH_DENYRW}   Denies read and write access to file{\fs24 
\par }{\b _SH_DENYWR}   Denies write access to file{\fs24 
\par }{\b _SH_DENYRD}   Denies read access to file{\fs24 
\par }{\b _SH_DENYNO}   Permits read and write access
\par {\fs24 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows
\par For convenience, lcc-win32 defines this values without underscores too.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669936}spawn , wspawnl{\*\bkmkend _Toc439669936}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \widctlpar {\b\fs24 Synopsis\~:
\par }\pard \widctlpar {\f26 int _spawnl( int }{\i\f26 mode}{\f26 , const char *}{\i\f26 cmdname}{\f26 , const char *}{\i\f26 arg0}{\f26 , const char *}{\i\f26 arg1}{\f26 , ... const char *}{\i\f26 argn}{\f26 , NULL );
\par int _wspawnl( int }{\i\f26 mode}{\f26 , const wchar_t *}{\i\f26 cmdname}{\f26 , const wchar_t *}{\i\f26 arg0}{\f26 ,const wchar_t *}{\i\f26 arg1}{\f26 , ... const wchar_t *}{\i\f26 argn}{\f26 , NULL );
\par }\pard \ri240\widctlpar {\f26 
\par This functions do not belong to the standard ANSI C library.
\par 
\par }\pard \ri240\widctlpar {\b\fs24 Description\~:
\par }{\fs24 This functions create and execute a new process. Its parameters are\~:
\par {\pntext\pard\plain\f1\fs20 \'b7\tab}}\pard \qj\fi-283\li283\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f26 mode }{\fs24 
Execution mode for the process to be created. This can be either one of the constants _P_WAIT or _P_NOWAIT, indicating whether the process starts synchronously or asynchronously.}{\f26 
\par {\pntext\pard\plain\f1\fs20 \'b7\tab}}\pard \fi-283\li283\ri240\widctlpar{\*\pn \pnlvlblt\pnf1\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}{\f26 cmdname}{\fs24  The path of the program to execute.}{\f26 
\par {\pntext\pard\plain\f1\fs20 \'b7\tab}arg0...argN}{\fs24  The arguments to be passed to the program.}{\f26 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669937}_splitpath{\*\bkmkend _Toc439669937}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\fs24 
\par Synopsis\~:
\par }\pard \widctlpar {\b\f26 <include <stdlib.h>}{\b 
\par }\pard \ri240\widctlpar {\b\f26 void}{\f26  }{\b\f26 _splitpath(}{\f26  }{\b\f26 const}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 path}{\b\f26 ,}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 drive}{\b\f26 ,}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{
\i\f26 dir}{\b\f26 ,}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 fname}{\b\f26 ,}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 ext}{\f26  }{\b\f26 );}{\f26 
\par }\pard \sl-160\slmult0\widctlpar {\f5\fs10   }
\par \pard \ri240\widctlpar {\f26 This function does NOT belong to the ANSI C library.
\par 
\par }\pard \ri240\widctlpar {\b\fs24 Description\~:
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _splitpath}{\fs24  function breaks a path into its four components. }{\b\fs24 _splitpath}{\fs24 
 automatically handles multibyte-character string arguments as appropriate, recognizing multibyte-character sequences according to the multibyte code page currently in use. 
\par }\pard \qj\sa120\widctlpar {\fs24 Each argument is stored in a buffer; the manifest constants }{\b\fs24 _MAX_DRIVE}{\fs24 , }{\b\fs24 _MAX_DIR}{\fs24 , }{\b\fs24 _MAX_FNAME}{\fs24 , and }{\b\fs24 _MAX_EXT}{\fs24 
 (defined in STDLIB.H) specify the maximum size  necessary for each buffer. The other arguments point to buffers used to store the path  elements. After a call to }{\b\fs24 _splitpath}{\fs24 
 is executed, these arguments contain empty strings for  components not found in }{\i\fs24 path}{\fs24 . You can pass a }{\b\fs24 NULL}{\fs24  pointer to }{\b\fs24 _splitpath}{\fs24  for any  component you don\rquote t need.
\par }\pard \ri240\sa120\widctlpar {\b\fs24 Returns\~:
\par }{\fs24 This function returns no value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669938}_stat{\*\bkmkend _Toc439669938}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \widctlpar {\b\fs24 Synopsis\~:
\par }\pard \widctlpar {\b\f26 #include <sys/types.h>
\par #include <sys/stat.h>
\par }\pard \fi27\ri240\widctlpar {\b\f26 int}{\f26  }{\b\f26 _stat(}{\f26  }{\b\f26 const}{\f26  }{\b\f26 char}{\f26  }{\b\f26 *}{\i\f26 path}{\b\f26 ,}{\f26  }{\b\f26 struct}{\f26  }{\b\f26 _stat}{\f26  }{\b\f26 *}{\i\f26 buffer}{\f26  }{\b\f26 );}{\b\fs24 

\par }\pard \widctlpar {\b\fs24 
\par Description\~:
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _stat}{\fs24  function obtains information about the file or directory specified by }{\i\fs24 path}{\fs24  and stores it in the structure pointed to by }{\i\fs24 buffer}{\fs24 . }{\b\fs24 _stat}{\fs24 
 automatically handles multibyte-character string arguments as appropriate, recognizing multibyte-character sequences according to the multibyte code page currently in use. 
\par }\pard \ri240\sa120\widctlpar {\fs24 The _}{\b\fs24 stat}{\fs24  structure, defined in SYS\\STAT.H, includes the following fields.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 gid}{\fs24    Numeric identifier of group that owns file. Not used under windows
\par }{\b\fs24 st_atime}{\fs24    Time of last access of file.
\par }{\b\fs24 st_ctime}{\fs24    Time of creation of file.
\par }{\b\fs24 st_dev}{\fs24    Drive number of the disk containing the file (same as }{\b\fs24 st_rdev}{\fs24 ).
\par }{\b\fs24 st_ino}{\fs24    Not used under windows
\par }\pard \qj\sa60\sl-240\slmult0\widctlpar {\b\fs24 st_mode}{\fs24    Bit mask for file-mode information. The }{\b\fs24 _S_IFDIR}{\fs24  bit is set if }{\i\fs24 path}{\fs24  specifies a directory; the }{\b\fs24 _S_IFREG}{\fs24  bit is set if }{\i\fs24 path}
{\fs24  specifies an ordinary file or a device. User read/write bits are set according to the file\rquote s permission mode; user execute bits are set according to the filename extension.
\par }\pard \ri240\sa60\sl-240\slmult0\widctlpar {\b\fs24 st_mtime}{\fs24    Time of last modification of file.
\par }{\b\fs24 st_nlink}{\fs24    Always 1 on non-NTFS file systems.
\par }{\b\fs24 st_rdev}{\fs24    Drive number of the disk containing the file (same as }{\b\fs24 st_dev}{\fs24 ).
\par }{\b\fs24 st_size}{\fs24    Size of the file in bytes; a 64-bit integer for }{\b\fs24 _stati64}{\fs24  and }{\b\fs24 _wstati64}{\fs24 
\par }{\b\fs24 uid}{\fs24  Not used under windows
\par }\pard \qj\sa120\widctlpar {\fs24 If }{\i\fs24 path}{\fs24  refers to a device, the size, time, }{\b\fs24 _dev}{\fs24 , and }{\b\fs24 _rdev}{\fs24  fields in the }{\b\fs24 _stat}{\fs24  structure are meaningless. Because STAT.H uses the }{\b\fs24 _dev_t}{
\fs24  type that is defined in TYPES.H, you must include TYPES.H before STAT.H in your code.
\par }\pard \ri240\sa120\widctlpar {\b\fs24 Returns\~:}{\fs24 
\par }\pard \qj\sa120\widctlpar {\fs24 Each of these functions returns 0 if the file-status information is obtained. A return value of \endash 1 indicates an error, in which case }{\b\fs24 errno}{\fs24  is set to }{\b\fs24 ENOENT}{\fs24 
, indicating that the filename or path could not be found.
\par }\pard \qj\ri240\sa120\widctlpar {\fs24 
\par }{\b\fs24 Portability\~:
\par }{\fs24 Windows
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669939}_statusfp{\*\bkmkend _Toc439669939}
\par \pard\plain \widctlpar \f4\fs20\lang1036 
\par \pard \widctlpar {\b\fs24 Synopsis\~:
\par }\pard \widctlpar {\b\f26\fs24 
\par }\pard \widctlpar {\b\f26 #include <float.h>
\par unsigned int _statusfp(void);
\par 
\par }\pard \widctlpar 
\par \pard \widctlpar {\b\fs24 Description\~:
\par }{\fs24 This function returns the floating point unit machine status.}
\par \pard \ri240\widctlpar {\f26 
\par }\pard \widctlpar {\b\fs24 Returns}{\fs24 
\par }\pard \qj\widctlpar {\fs24 The bits in the value returned indicate the floating-point status. See the FLOAT.H include file for a complete definition of the bits returned by this function.
\par }\pard \widctlpar {\b\fs24 
\par }\pard \ri240\widctlpar {\b\fs24 Portability\~:
\par }{\fs24 Windows
\par }\pard \ri240\widctlpar 
\par \pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669940}system{\*\bkmkend _Toc439669940}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int system(const char *string);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 string }{\f188\fs24 is a null pointer, the }{\b\f189\fs24 system }{\f188\fs24 function determines whether the host environment has a }{\i\f191\fs24 command processor}{\f188\fs24 .If }{\b\f189\fs24 string 
}{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 system }{\f188\fs24 function passes the string pointed to by }{\b\f189\fs24 string }{\f188\fs24 
to that command processor to be executed in a manner which the implementation shall document; this might then cause the program calling }{\b\f189\fs24 system }{\f188\fs24 to behave in a non-conforming manner or to terminate.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the argument is a null pointer, the }{\b\f189\fs24 system }{\f188\fs24 function returns nonzero only if a command processor is available. If the argument is not a null pointer, and the }{\b\f189\fs24 system }{
\f188\fs24 function does return, it returns an implementation-defined value.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 Under lcc-win32/windows, the command processor, cmd.exe under windows NT or command.com under windows 95 will be called.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669941}tan{\*\bkmkend _Toc439669941}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double tan(double x);
\par }{\b\f190\fs24 
\par Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 tan }{\f188\fs24 functions return the tangent of }{\b\f189\fs24 x }{\f188\fs24 (measured in radians).
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 tan }{\f188\fs24 functions return the tangent value.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669942}tanh{\*\bkmkend _Toc439669942}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <math.h>
\par double tanh(double x);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 tanh }{\f188\fs24 functions compute the hyperbolic tangent of }{\b\f189\fs24 x}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 tanh }{\f188\fs24 functions return the hyperbolic tangent value.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\f11 {\*\bkmkstart _Toc439669943}_}tempnam{\*\bkmkend _Toc439669943}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par char *_tempnam(char *s);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\b\fs24 _tempnam}{\fs24  creates a temporary filename for use in another directory. This filename is different from that of any existing file. The }{\i\fs24 prefix}{\fs24  argument is the prefix to the filename. }{\b\fs24 
_tempnam}{\fs24  uses }{\b\fs24 malloc}{\fs24  to allocate space for the filename; the program is responsible for freeing this space when it is no longer needed. }{\b\fs24 _tempnam}{\fs24 
 looks for the file with the given name in the following directories, listed in order of precedence.
\par }\pard \widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 A pointer to the name generated or NULL if this fails. Note that this function is not an ANSI C library function.
\par }\pard \widctlpar {\b\fs24 
\par Example\~:
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    FILE *stream;
\par    int  i;
\par 
\par    /* Create temporary files. */
\par    for( i = 1; i <= 4; i++ )
\par    \{
\par       if( (stream = tmpfile()) == NULL ) \{
\par          perror( "Could not open new temporary file\\n" );
\par          break;
\par       \}
\par       else
\par          printf( "Temporary file %d was created\\n", i );
\par    \}
\par 
\par    /* Remove temporary files. */
\par    printf( "%d temporary files deleted\\n", _rmtmp() );
\par \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669944}time{\*\bkmkend _Toc439669944}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <time.h>
\par time_t time(time_t *timer);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 time }{\f188\fs24 function determines the current calendar time. The encoding of the value is unspecified.
\par }\pard \qj\sa120\widctlpar {\fs24 Under the lcc-win32/windows system, The }{\b\fs24 time}{\fs24  function returns th
e number of seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time, according to the system clock. The return value is stored in the location given by }{\i\fs24 timer}{\fs24 . This parameter may be }{\b\fs24 NULL}{\fs24 
, in which case the return value is not stored.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 time }{\f188\fs24 function returns the implementation\rquote s best approximation to the current calendar time. The value }{\b\f189\fs24 (time_t)-1 }{\f188\fs24 
is returned if the calendar time is not available. If }{\b\f189\fs24 timer }{\f188\fs24 is not a null pointer, the return value is also assigned to the object it points to.}{\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669945}tmpfile{\*\bkmkend _Toc439669945}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par FILE *tmpfile(void);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 tmpfile }{\f188\fs24 
function creates a temporary binary file that will automatically be removed when it is closed or at program termination. If the program terminates abnormally, whether an open temporary file is removed is implementation-defined. The file is opened for upda
te with }{\b\f189\fs24 "wb+" }{\f188\fs24 mode.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 tmpfile }{\f188\fs24 function returns a pointer to the stream of the file that it created. If the file cannot be created, the }{\b\f189\fs24 tmpfile }{\f188\fs24 function returns a null pointer.
\par }\pard \widctlpar {\f188\fs24 Example\~:
\par 
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par 
\par void main( void )
\par \{
\par    FILE *stream;
\par    int  i;
\par 
\par    /* Create temporary files. */
\par    for( i = 1; i <= 4; i++ )
\par    \{
\par       if( (stream = tmpfile()) == NULL ) \{
\par          perror( "Could not open new temporary file\\n" );
\par          break;
\par       \}
\par       else
\par          printf( "Temporary file %d was created\\n", i );
\par    \}
\par 
\par    /* Remove temporary files. */
\par    printf( "%d temporary files deleted\\n", _rmtmp() );
\par \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669946}tmpnam{\*\bkmkend _Toc439669946}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par char *tmpnam(char *s);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 tmpnam }{\f188\fs24 function generates a string that is a valid file name and that is not the same as the name of an existing file.}{\f188\fs18 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 tmpnam }{\f188\fs24 function generates a different string each time it is called, up to }{\b\f189\fs24 TMP_MAX }{\f188\fs24 times. If it is called more than }{\b\f189\fs24 TMP_MAX }{\f188\fs24 
times, the behavior is implementation-defined. The implementation shall behave as if no library function calls the }{\b\f189\fs24 tmpnam }{\f188\fs24 function.}{\cs25\f188\fs24\super \chftn {\footnote \pard\plain \s24\widctlpar \f4\fs20\lang1036 {
\cs25\super \chftn } This is untested under lcc-win32}}{\f188\fs24 
\par }\pard \widctlpar {\fs24 
\par }\pard \qj\widctlpar {\fs24 Files created using strings generated by the }{\b\fs24 tmpnam }{\fs24 function are temporary only in the sense that
 their names should not collide with those generated by conventional naming rules for the implementation. It is still necessary to use the }{\b\fs24 remove }{\fs24 function to remove such files when their use is ended, and before program termination.

\par }\pard \widctlpar {\fs24 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the argument is a null pointer, the }{\b\f189\fs24 tmpnam }{\f188\fs24 function leaves its result in an internal static object and returns a pointer to that object. Subsequent calls to the }{\b\f189\fs24 tmpnam }{
\f188\fs24 function may modify the same object. If the argument is not a null pointer, it is assumed to point to an array of at least }{\b\f189\fs24 L_tmpnam char}{\f188\fs24 s; the }{\b\f189\fs24 tmpnam }{\f188\fs24 
function writes its result in that array and returns the argument as its value.
\par }\pard \widctlpar {\b\f190\fs24 Environmental limits
\par }{\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 The value of the macro }{\b\f189\fs24 TMP_MAX }{\f189\fs24 is}{\b\f189\fs24  }{\f188\fs24 32767}{\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669947}tolower{\*\bkmkend _Toc439669947}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int tolower(int c);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 tolower }{\f188\fs24 function converts an uppercase letter to a corresponding lowercase letter.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the argument is a character for which }{\b\f189\fs24 isupper }{\f188\fs24 is true and there are one or more corresponding characters, as specified by the current locale, for which }{\b\f189\fs24 islower }{\f188\fs24 
is true, the }{\b\f189\fs24 tolower }{\f188\fs24 function returns one of the corresponding characters (always the same one for any giv en locale); otherwise, the argument is returned unchanged.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669948}toupper{\*\bkmkend _Toc439669948}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <ctype.h>
\par int toupper(int c);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 toupper }{\f188\fs24 function converts a lowercase letter to a corresponding uppercase letter.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If the argument is a character for which }{\b\f189\fs24 islower }{\f188\fs24 is true and there are one or more corresponding characters, as specified by the current locale, for which }{\b\f189\fs24 isupper }{\f188\fs24 
is true, }{\fs24 the }{\f189\fs24 toupper }{\fs24 function returns one of the corresponding characters (always the same one for any giv en locale); otherwise, the argument is returned unchanged.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669949}ungetc ungetwc{\*\bkmkend _Toc439669949}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdio.h>
\par int ungetc(int c, FILE *stream);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ungetc }{\f188\fs24 function pushes the character specified by }{\b\f189\fs24 c }{\f188\fs24 (converted to an }{\b\f189\fs24 unsigned char}{\f188\fs24 ) back onto the input stream pointed to by }{
\b\f189\fs24 stream}{\f188\fs24 .Pushed-back characters will be returned by subsequent reads on that stream in the reverse order of their pushing. A successful intervening call (with the stream pointed to by }{\b\f189\fs24 stream}{\f188\fs24 
) to a file positioning function (}{\b\f189\fs24 fseek}{\f188\fs24 , }{\b\f189\fs24 fsetpos}{\f188\fs24 ,or}{\b\f189\fs24 rewind}{\f188\fs24 
) discards any pushed-back characters for the stream. The external storage corresponding to the stream is unchanged. 
\par }\pard \qj\widctlpar {\f188\fs24 One character of pushback is guaranteed. If the }{\b\f189\fs24 ungetc }{\f188\fs24 
function is called too many times on the same stream without an intervening read or file positioning operation on that stream, the operation may fail.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\sa120\widctlpar {\fs24 Under the lcc-win32/windows system results are unpredictable if }{\b\fs24 ungetc}{\fs24  is called twice without a read or file-positioning operation between the two calls. After a call to }{\b\fs24 fscanf}{\fs24 
, a call to }{\b\fs24 ungetc}{\fs24  may fail unless another read operation (such as }{\b\fs24 getc}{\fs24 ) has been performed This is because }{\b\fs24 fscanf}{\fs24  itself calls }{\b\fs24 ungetc}{\fs24 .
\par }\pard \qj\widctlpar {\f188\fs24 If the value of }{\b\f189\fs24 c }{\f188\fs24 equals that of the macro }{\b\f189\fs24 EOF}{\f188\fs24 , the operation fails and the input stream is unchanged.
\par }\pard \qj\widctlpar {\f188\fs24 A successful call to the }{\b\f189\fs24 ungetc }{\f188\fs24 function clears the end-of-file indicator for the stream. The value of the file position indicator for the stream after reading or discarding al
l pushed-back characters shall be the same as it was before the characters were pushed back. For a text stream, the value of its file position indicator after a successful call to the }{\b\f189\fs24 ungetc }{\f188\fs24 
function is unspecified until all pushed-back characters are read or discarded. 
\par }\pard \qj\widctlpar {\f188\fs24 For a binary stream, its file position indicator is decremented by each successful call to the }{\b\f189\fs24 ungetc }{\f188\fs24 function; if its value was zero before a call, it is indeterminate after the call.}{
\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 ungetc }{\f188\fs24 function returns the character pushed back after conversion, or }{\b\f189\fs24 EOF }{\f188\fs24 if the operation fails.}{\fs24 
\par }\pard \widctlpar {\fs24 The ungetwc is the wide character counterpart of ungetc.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 \page {\*\bkmkstart _Toc439669950}va_list{\b0\f189\fs28 {\*\bkmkend _Toc439669950}
\par }\pard\plain \qj\widctlpar \f4\fs20\lang1036 {\f188\fs24 The header }{\b\f189\fs24 <stdarg.h> }{\f188\fs24 declares a type and defines four macros, for advancing through a list of arguments whose number and types are not known to the called function

\par }\pard \widctlpar {\f188\fs24 when it is translated.
\par }\pard \qj\widctlpar {\f188\fs24 A function may be called with a variable number of arguments of varying types. Its parameter list contains one or more parameters. The rightmost parameter plays a special role in the access mechanism, 
and will be designated }{\i\f191\fs24 parmN }{\f188\fs24 in this description.
\par }\pard \widctlpar {\f188\fs24 The type declared is
\par }{\b\f189\fs24 va_list
\par }\pard \qj\widctlpar {\f188\fs24 which is an object type suitable for holding information needed by the macros }{\b\f189\fs24 va_start}{\f188\fs24 , }{\b\f189\fs24 va_arg}{\f188\fs24 , }{\b\f189\fs24 va_end}{\f188\fs24 , and }{\b\f189\fs24 va_copy}{
\f188\fs24 . If access to the varying arguments is desired, the called function shall declare an object (referred to as }{\b\f189\fs24 ap }{\f188\fs24 in this subclause) having type }{\b\f189\fs24 va_list}{\f188\fs24 . The object }{\b\f189\fs24 ap }{
\f188\fs24 may be passed as an argument to another function; if that function invokes the }{\b\f189\fs24 va_arg }{\f188\fs24 macro with parameter }{\b\f189\fs24 ap}{\f188\fs24 , the value of }{\b\f189\fs24 ap }{\f188\fs24 in the calling function i
s indeterminate and shall be passed to the }{\b\f189\fs24 va_end }{\f188\fs24 macro prior to any further reference to }{\b\f189\fs24 ap}{\f188\fs24 .}{\f11  
\par }\pard \widctlpar {\f11 
\par }\pard \widctlpar {\b\fs24 Example\~:
\par 
\par }\pard \widctlpar {\f11 #include <stdio.h>
\par #include <stdarg.h>
\par int average( int first, ... );
\par 
\par void main( void )
\par \{
\par    /* Call with 3 integers (zero is used as terminator). */
\par    printf( "Average is: %d\\n", average( 2, 5, 9, 0 ) );
\par 
\par    /* Call with 5 integers. */
\par    printf( "Average is: %d\\n", average( 5, 8, 2, 19, 88 , 0 ) );
\par 
\par    /* Call with just zero terminator. */
\par    printf( "Average is: %d\\n", average( 0 ) );
\par \}
\par 
\par /* Returns the average of a variable list of integers. */
\par int average( int first, ... )
\par \{
\par    int count = 0, sum = 0, i = first;
\par    va_list marker;
\par 
\par    va_start( marker, first );     /* Initialize variable arguments. */
\par    while( i != 0 )
\par    \{
\par       sum += i;
\par       count++;
\par       i = va_arg( marker, int);
\par    \}
\par    va_end( marker );              /* Reset variable arguments.      */
\par    return( sum ? (sum / count) : 0 );
\par \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669951}vfprintf{\*\bkmkend _Toc439669951}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdarg.h>
\par #include <stdio.h>
\par }\pard \widctlpar {\b\f189\fs24 int vfprintf(FILE * restrict stream,const char * restrict format,va_list arg);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vfprintf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 fprintf}{\f188\fs24 , with the variable argument list replaced by }{\b\f189\fs24 arg}{\f188\fs24 , which shall have been initialized by the 
}{\b\f189\fs24 va_start }{\f188\fs24 macro (and possibly subsequent }{\b\f189\fs24 va_arg }{\f188\fs24 calls). The }{\b\f189\fs24 vfprintf }{\f188\fs24 function does not invoke the }{\b\f189\fs24 va_end }{\f188\fs24 macro.}{\cs25\f188\fs24\super \chftn 
{\footnote \pard\plain \widctlpar \f4\fs20\lang1036 {\cs25\super \chftn } {\f188 As the functions }{\b\f189 vfprintf}{\f188 , }{\b\f189 vfscanf}{\f188 , }{\b\f189 vprintf}{\f188 , }{\b\f189 vscanf}{\f188 , }{\b\f189 vsnprintf}{\f188 , }{\b\f189 vsprintf}{
\f188 , and
\par }\pard\plain \s24\widctlpar \f4\fs20\lang1036 {\b\f189 vsscanf }{\f188 invoke the }{\b\f189 va_arg }{\f188 macro, the value of }{\b\f189 arg }{\f188 after the return is indeterminate.}}}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 vfprintf }{\f188\fs24 function returns the number of characters transmitted, or a negative value if an output or encoding error occurred.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 EXAMPLE The following shows the use of the }{\b\f189\fs24 vfprintf }{\f188\fs24 function in a general error-reporting routine.
\par }\pard \widctlpar {\f11 
\par #include <stdarg.h>
\par #include <stdio.h>
\par void error(char *function_name, char *format, ...)
\par \{
\par }\pard \fi708\widctlpar {\f11 va_list args;
\par va_start(args, format);
\par }\pard \fi708\widctlpar {\f11 // }{\i\f11 print out name of function causing error
\par }\pard \fi708\widctlpar {\f11 fprintf(stderr, "ERROR in %s: ", function_name);
\par }\pard \fi708\widctlpar {\f11 // }{\i\f11 print out remainder of message
\par }\pard \fi708\widctlpar {\f11 vfprintf(stderr, format, args);
\par va_end(args);
\par }\pard \widctlpar {\f11 \}
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669952}vprintf{\*\bkmkend _Toc439669952}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdarg.h>
\par #include <stdio.h>
\par int vprintf(const char * restrict format,va_list arg);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vprintf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 printf}{\f188\fs24 , with the variable argument list replaced by }{\b\f189\fs24 arg}{\f188\fs24 , which shall have been initialized by the }{
\b\f189\fs24 va_start }{\f188\fs24 macro (and possibly subsequent }{\b\f189\fs24 va_arg }{\f188\fs24 calls). The }{\b\f189\fs24 vprintf }{\f188\fs24 function does not invoke the }{\b\f189\fs24 va_end }{\f188\fs24 macro.}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 vprintf }{\f188\fs24 function returns the number of characters transmitted, or a negative value if an output or encoding error occurred.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669953}vsprintf vswprintf{\*\bkmkend _Toc439669953}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdarg.h>
\par #include <stdio.h>
\par int vsprintf(char * restrict s,const char * restrict format,
\par va_list arg);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vsprintf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 sprintf}{\f188\fs24 , with the variable argument list replaced by }{\b\f189\fs24 arg}{\f188\fs24 , which shall have been initialized by the 
}{\b\f189\fs24 va_start }{\f188\fs24 macro (and possibly subsequent }{\b\f189\fs24 va_arg }{\f188\fs24 calls). The }{\b\f189\fs24 vsprintf }{\f188\fs24 function does not invoke the }{\b\f189\fs24 va_end }{\f188\fs24 macro.}{\f188\fs18  }{\f188\fs24 
If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vsprintf }{\f188\fs24 function returns the number of characters written in the array, not counting the terminating null character, or a neg ative value if an encoding error occurred.
\par }\pard \widctlpar {\f188\fs24 
\par The }{\b\f188\fs24 vswprintf}{\f188\fs24  function is the wide character counterpart of vsprintf.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669954}vscanf{\*\bkmkend _Toc439669954}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdarg.h>
\par #include <stdio.h>
\par int vscanf(const char * restrict format,va_list arg);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vscanf }{\f188\fs24 function is equivalent to }{\b\f189\fs24 scanf}{\f188\fs24 , with the variable argument list replaced by }{\b\f189\fs24 arg}{\f188\fs24 , which shall have been initialized by the }{
\b\f189\fs24 va_start }{\f188\fs24 macro (and possibly subsequent }{\b\f189\fs24 va_arg }{\f188\fs24 calls). The }{\b\f189\fs24 vscanf }{\f188\fs24 function does not invoke the }{\b\f189\fs24 va_end }{\f188\fs24 macro.}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 vscanf }{\f188\fs24 function returns the value of the macro }{\b\f189\fs24 EOF }{\f188\fs24 if an input failure occurs before any conversion. Otherwise, the }{\b\f189\fs24 vscanf }{\f188\fs24 
function returns the number of input items  signed, which can be fewer than provided for, or even zero, in the event of an early matching failure.
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669955}wcsncpy{\*\bkmkend _Toc439669955}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 wchar_t *wcsncpy(wchar_t * restrict s1,const wchar_t * restrict s2,size_t n);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncpy }{\f188\fs24 function copies not more than }{\b\f189\fs24 n }{\f188\fs24 wide characters (those that follow a null wide character are not copied) from the array pointed to by }{\b\f189\fs24 s2 }{
\f188\fs24 to the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 . If the array pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 is a wide string that is shorter than }{\b\f189\fs24 n }{\f188\fs24 
wide characters, null wide characters are appended to the copy in the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 , until }{\b\f189\fs24 n }{\f188\fs24 wide characters in all have been written.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncpy }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669956}wcscat{\*\bkmkend _Toc439669956}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 wchar_t *wcscat(wchar_t * restrict s1, const wchar_t * restrict s2);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscat }{\f188\fs24 function appends a copy of the wide string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 (including the terminating null wide character) to the end of the wide string pointed to by }{
\b\f189\fs24 s1}{\f188\fs24 . The initial wide character of }{\b\f189\fs24 s2 }{\f188\fs24 overwrites the null wide character at the end of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscat }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669957}wcschr{\*\bkmkend _Toc439669957}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par wchar_t *wcschr(const wchar_t *s, wchar_t c);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcschr }{\f188\fs24 function locates the first occurrence of }{\b\f189\fs24 c }{\f188\fs24 in the wide string pointed to by }{\b\f189\fs24 s}{\f188\fs24 
. The terminating null wide character is considered to be part of the wide string.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcschr }{\f188\fs24 function returns a pointer to the located wide character, or a null pointer if the wide character does not occur in the wide string.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669958}wcscmp{\*\bkmkend _Toc439669958}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par int wcscmp(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscmp }{\f188\fs24 function compares the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscmp }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669959}wcscoll{\*\bkmkend _Toc439669959}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par int wcscoll(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscoll }{\f188\fs24 function compares the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 to the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 
, both interpreted as appropriate to the }{\b\f189\fs24 LC_COLLATE }{\f188\fs24 category of the current locale.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscoll }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the wide string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 when both are interpreted as appropriate to the current locale.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669960}wcscspn{\*\bkmkend _Toc439669960}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par size_t wcscspn(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscspn }{\f188\fs24 function computes the length of the maximum initial segment of the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 which consists entirely of wide characters }{\i\f191\fs24 
not }{\f188\fs24 from the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcscspn }{\f188\fs24 function returns the length of the segment.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669961}wcslen{\*\bkmkend _Toc439669961}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par size_t wcslen(const wchar_t *s);
\par }{\b\f190\fs24 Description
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcslen }{\f188\fs24 function computes the length of the wide string pointed to by }{\b\f189\fs24 s}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcslen }{\f188\fs24 function returns the number of wide characters that precede the terminating null wide character.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669962}wcsncat{\*\bkmkend _Toc439669962}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 wchar_t *wcsncat(wchar_t * restrict s1,const wchar_t * restrict s2,size_t n);
\par }\pard \widctlpar {\b\f190\fs24 
\par Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncat }{\f188\fs24 function appends not more than }{\b\f189\fs24 n }{\f188\fs24 wide characters (a null wide character and those that follow it are not appended) from the array pointed to by }{
\b\f189\fs24 s2 }{\f188\fs24 to the end of the wide string pointed to by }{\b\f189\fs24 s1}{\f188\fs24 . The initial wide character of }{\b\f189\fs24 s2 }{\f188\fs24 overwrites the null wide character at the end of }{\b\f189\fs24 s1 }{\f188\fs24 
A terminating null wide character is always appended to the result.}{\f188\fs18 
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncat }{\f188\fs24 function returns the value of }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669963}wcsncmp{\*\bkmkend _Toc439669963}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par int wcsncmp(const wchar_t *s1, const wchar_t *s2, size_t n);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncmp }{\f188\fs24 function compares not more than }{\b\f189\fs24 n }{\f188\fs24 wide characters (those that follow a null wide character are not compared) from the array pointed to by }{\b\f189\fs24 
s1 }{\f188\fs24 to the array pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsncmp }{\f188\fs24 function returns an integer greater than, equal to, or less than zero, accordingly as the possibly null-terminated array pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
is greater than, equal to, or less than the possibly null-terminated array pointed to by }{\b\f189\fs24 s2}{\f188\fs24 . 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669964}wcspbrk{\*\bkmkend _Toc439669964}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par wchar_t *wcspbrk(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 
\par Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcspbrk }{\f188\fs24 function locates the first occurrence in the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 of any wide character from the wide string pointed to by }{\b\f189\fs24 s2}{
\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcspbrk }{\f188\fs24 function returns a pointer to the wide character in }{\b\f189\fs24 s1}{\f188\fs24 , or a null pointer if no wide character from }{\b\f189\fs24 s2 }{\f188\fs24 occurs in }{
\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669965}wcsrchr{\*\bkmkend _Toc439669965}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par wchar_t *wcsrchr(const wchar_t *s, wchar_t c);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsrchr }{\f188\fs24 function locates the last occurrence of }{\b\f189\fs24 c }{\f188\fs24 in the wide string pointed to by }{\b\f189\fs24 s}{\f188\fs24 
.The terminating null wide character is considered to be part of the wide string.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsrchr }{\f188\fs24 function returns a pointer to the wide character, or a null pointer if }{\b\f189\fs24 c }{\f188\fs24 does
\par }\pard \widctlpar {\f188\fs24 not occur in the wide string.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669966}wcsspn{\*\bkmkend _Toc439669966}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par size_t wcsspn(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsspn }{\f188\fs24 function computes the length of the maximum initial segment of the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
which consists entirely of wide characters from the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsspn }{\f188\fs24 function returns the length of the segment.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669967}wcsstr{\*\bkmkend _Toc439669967}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par wchar_t *wcsstr(const wchar_t *s1, const wchar_t *s2);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsstr }{\f188\fs24 function locates the first occurrence in the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 of the sequence of wi
de characters (excluding the terminating null wide character) in the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsstr }{\f188\fs24 function returns a pointer to the located wide string, or a null pointer if the wide string is not found. If }{\b\f189\fs24 s2 }{\f188\fs24 
points to a wide string with zero length, the function
\par }\pard \widctlpar {\f188\fs24 returns }{\b\f189\fs24 s1}{\f188\fs24 .
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669968}wcstok{\*\bkmkend _Toc439669968}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 wchar_t *wcstok(wchar_t * restrict s1, const wchar_t * restrict s2, wchar_t ** restrict ptr);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 A sequence of calls to the }{\b\f189\fs24 wcstok }{\f188\fs24 function breaks the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 
into a sequence of tokens, each of which is delimited by a wide character from the wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 . The third argument points to a caller-provided }{\b\f189\fs24 wchar_t }{\f188\fs24 pointer into which the }{
\b\f189\fs24 wcstok }{\f188\fs24 function stores information necessary for it to continue scanning the same wide string.
\par The first call in a sequence has a non-null first argument and stores an initial value in the object pointed to by }{\b\f189\fs24 ptr}{\f188\fs24 . Subsequent calls in the sequence have a null first argument and the object pointed to by }{\b\f189\fs24 
ptr }{\f188\fs24 is required to have the value stored by the previous call in the sequence, which is then updated. The separator wide string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 may be different from call to call.
\par }\pard \qj\widctlpar {\f188\fs24 The first call in the sequence searches the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 for the first wide character that is }{\i\f191\fs24 not }{\f188\fs24 
contained in the current separator wide string pointed to by }{\b\f189\fs24 s2}{\f188\fs24 .If no such wide character is found, then there are no tokens in the wide string pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 and the }{\b\f189\fs24 wcstok }{
\f188\fs24 function returns a null pointer. If such a wide character is found, it is the start of the first token.
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcstok }{\f188\fs24 function then searches from there for a wide character that }{\i\f191\fs24 is }{\f188\fs24 
contained in the current separator wide string. If no such wide character is found, the current token extends to the end of the wide string pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
, and subsequent searches in the same wide string for a token return a null pointer. If such a wide character is found, it is overwritten by a null wide character, which terminates the current token. 
\par }\pard \qj\widctlpar {\f188\fs24 In all cases, the }{\b\f189\fs24 wcstok }{\f188\fs24 function stores sufficient information in the pointer pointed to by }{\b\f189\fs24 ptr }{\f188\fs24 so that subsequent calls, with a null pointer for }{\b\f189\fs24 s1 }
{\f188\fs24 and the unmodified pointer value for }{\b\f189\fs24 ptr}{\f188\fs24 , shall start searching just past the element overwritten by a null wide character (if any).
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcstok }{\f188\fs24 function returns a pointer to the first wide character of a token, or a null pointer if there is no token.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page } {\*\bkmkstart _Toc439669969}wcstol , wcstoul{\*\bkmkend _Toc439669969}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 long int wcstol(const wchar_t * restrict nptr,wchar_t ** restrict endptr,int base);
\par }\pard \widctlpar {\b\f189\fs24 unsigned long int wcstoul(const wchar_t * restrict nptr,
\par wchar_t ** restrict endptr,int base);
\par }{\b\f190\fs24 
\par Description
\par }{\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcstol}{\f188\fs24 , and }{\b\f189\fs24 wcstoul }{\f188\fs24 functions convert the initial portion of the wide string  pointed to by }{\b\f189\fs24 nptr }{\f188\fs24 to }{\b\f189\fs24 long int}{
\f188\fs24 , or }{\b\f189\fs24 unsigned long int }{\f188\fs24 representation, respectively. 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 First, they decompose the input string into three parts: an initial, possibly empty, sequence of white-space wide characters (as specified by the }{\b\f189\fs24 iswspace }{\f188\fs24 
function), a subject sequence resembling an integer represented in some radix determined by the value of }{\b\f189\fs24 base}{\f188\fs24 
, and a final wide string of one or more unrecognized wide characters, including the terminating null wide character of the input wide string. Then, they attempt to convert the subject sequence to an integer, and return the result. If the value of }{
\b\f189\fs24 base }{\f188\fs24 
is zero, the expected form of the subject sequence is that of an integer constant as described for the corresponding single-byte characters in 6.4.4.1, optionally preceded by a plus or minus sign, but not including an integer suffix. If the value of }{
\b\f189\fs24 base }{\f188\fs24 is between 2 and 36 (inclusive), the expected form of the subject sequence is a sequence of letters and digits representing an integer with the radix specified by }{\b\f189\fs24 base}{\f188\fs24 
, optionally preceded by a plus or minus sign, but not including an integer suffix 
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 The letters from }{\b\f189\fs24 a }{\f188\fs24 (or }{\b\f189\fs24 A}{\f188\fs24 ) through }{\b\f189\fs24 z }{\f188\fs24 (or }{\b\f189\fs24 Z}{\f188\fs24 
) are ascribed the values 10 through 35; only letters and digits whose ascribed values are less than that of }{\b\f189\fs24 base }{\f188\fs24 are permitted. If the value of }{\b\f189\fs24 base }{\f188\fs24 is 16, the wide characters }{\b\f189\fs24 0x }{
\f188\fs24 or }{\b\f189\fs24 0X }{\f188\fs24 may optionally precede the sequence  if letters and digits, following the sign if present.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 
The subject sequence is defined as the longest initial subsequence of the input wide string, starting with the first non-white-space wide character, that is of the expected form. The subject sequence contains no wide characters if the input wide string is
 empty or consists entirely of white space, or if the first non-white-space wide character is other than a sign or a permissible letter or digit.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 If the subject sequence has the expected form and the value of }{\b\f189\fs24 base }{\f188\fs24 is zero, the sequence 
\par }\pard \qj\widctlpar {\f188\fs24 of wide characters starting with the first digit is interpreted as an integer constant according to the rules of 6.4.4.1. If the subject sequence has the expected form and the value of }{\b\f189\fs24 base }{\f188\fs24 
is between 2 and 36, it is used as the base for conversion, ascribing to each letter its value as given above. If the subject sequence begins with a minus sign, the value resulting from the conversion is negated (in the return type). A pointer to the fin
al wide string is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 , provided that }{\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 In other than the }{\b\f189\fs24 "C" }{\f188\fs24 locale, additional locale-specific subject sequence forms may be accepted.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \qj\widctlpar {\f188\fs24 If the subject sequence is empty or does not have the expected form, no conversion is performed; the value of }{\b\f189\fs24 nptr }{\f188\fs24 is stored in the object pointed to by }{\b\f189\fs24 endptr}{\f188\fs24 
, provided that }{\b\f189\fs24 endptr }{\f188\fs24 is not a null pointer.
\par }\pard \widctlpar {\b\f190\fs24 
\par Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcstol}{\f188\fs24 , }{\b\f189\fs24 wcstoll}{\f188\fs24 , }{\b\f189\fs24 wcstoul}{\f188\fs24 , and }{\b\f189\fs24 wcstoull }{\f188\fs24 functions return the converted value, if any. If no
 conversion could be performed, zero is returned. If the correct value is outside the range of representable values, }{\b\f189\fs24 LONG_MIN}{\f188\fs24 , }{\b\f189\fs24 LONG_MAX}{\f188\fs24 , }{\b\f189\fs24 LLONG_MIN}{\f188\fs24 , }{\b\f189\fs24 
LLONG_MAX}{\f188\fs24 , }{\b\f189\fs24 ULONG_MAX}{\f188\fs24 ,or}{\b\f189\fs24 ULLONG_MAX }{\f188\fs24 is returned (according to the return type sign of the value, if any), and the value of the macro }{\b\f189\fs24 ERANGE }{\f188\fs24 is stored in }{
\b\f189\fs24 errno}{\f188\fs24 . 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669970}wcstombs{\*\bkmkend _Toc439669970}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t wcstombs(char * restrict s,const wchar_t * restrict pwcs,size_t n);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcstombs }{\f188\fs24 function converts a sequence of codes that correspond to multibyte characters from the array pointed to by }{\b\f189\fs24 pwcs }{\f188\fs24 
into a sequence of multibyte characters that begins in the initial shift state and stores these multibyte characters into the array pointed to by }{\b\f189\fs24 s}{\f188\fs24 , stopping if a multibyte character would exceed the limit of }{\b\f189\fs24 n }
{\f188\fs24 total bytes or if a null character is stored. Each code is converted as if by a call to the }{\b\f189\fs24 wctomb }{\f188\fs24 function, except that the shift state of the }{\b\f189\fs24 wctomb }{\f188\fs24 function is not affected. 
\par }\pard \qj\widctlpar {\f188\fs24 No more than }{\b\f189\fs24 n }{\f188\fs24 bytes will be modified in the array pointed to by }{\b\f189\fs24 s}{\f188\fs24 . If copying takes place between objects that overlap, the behavior is undefined.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If a code is encountered that does not correspond to a valid multibyte character, the }{\b\f189\fs24 wcstombs }{\f188\fs24 function returns }{\b\f189\fs24 (size_t)-1}{\f188\fs24 . Otherwise, the }{\b\f189\fs24 wcstombs }{
\f188\fs24 function returns the number of bytes modified, not including a terminating null character, if any.
\par }\pard \widctlpar {\f11 
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f11 \page }{\*\bkmkstart _Toc439669971}wcsxfrm{\*\bkmkend _Toc439669971}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <wchar.h>
\par }\pard \widctlpar {\b\f189\fs24 size_t wcsxfrm(wchar_t * restrict s1, const wchar_t * restrict s2, size_t n);
\par }\pard \widctlpar {\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsxfrm }{\f188\fs24 function transforms the wide string pointed to by }{\b\f189\fs24 s2 }{\f188\fs24 and places the resulting wide string into the array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
. The transformation is such that if the }{\b\f189\fs24 wcscmp }{\f188\fs24 function is applied to two transformed wide strings, it returns a value greater than, equal to, or less than zero, corresponding to the result of the }{\b\f189\fs24 wcscoll }{
\f188\fs24 function applied to the same two original wide strings. No more than }{\b\f189\fs24 n }{\f188\fs24 wide characters are placed into the resulting array pointed to by }{\b\f189\fs24 s1}{\f188\fs24 
, including the terminating null wide character. If }{\b\f189\fs24 n }{\f188\fs24 is zero, }{\b\f189\fs24 s1 }{\f188\fs24 is permitted to be a null pointer.
\par }\pard \widctlpar {\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wcsxfrm }{\f188\fs24 function returns the length of the transformed wide string (not including the terminating null wide character). If the value returned is }{\b\f189\fs24 n }{\f188\fs24 
or greater, the contents of the array pointed to by }{\b\f189\fs24 s1 }{\f188\fs24 are indeterminate.
\par }\pard \widctlpar {\f188 
\par EXAMPLE 
\par The value of the following expression is the length of the array needed to hold the
\par }\pard \widctlpar {\f188 transformation of the wide string pointed to by }{\b\f189 s}{\f188 :
\par }\pard \widctlpar {\b\f189 1 + wcsxfrm(NULL, s, 0)
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f189 \page }{\*\bkmkstart _Toc439669972}wctomb{\*\bkmkend _Toc439669972}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <stdlib.h>
\par int wctomb(char *s, wchar_t wchar);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 wctomb }{\f188\fs24 function determines the number of bytes needed to represent the multibyte character corresponding to the code whose value is }{\b\f189\fs24 wchar }{\f188\fs24 
(including any change in shift state). It stores the multibyte character representation in the array object pointed to by }{\b\f189\fs24 s }{\f188\fs24 (if }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer). At most }{\b\f189\fs24 MB_CUR_MAX }{
\f188\fs24 characters are stored. If the value of }{\b\f189\fs24 wchar }{\f188\fs24 is zero, the }{\b\f189\fs24 wctomb }{\f188\fs24 function is left in the initial shift state.
\par }\pard \widctlpar {\f188\fs24 The implementation shall behave as if no library function calls the }{\b\f189\fs24 wctomb }{\f188\fs24 function. 
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f188\fs24 If }{\b\f189\fs24 s}{\f188\fs24 is a null pointer, the }{\b\f189\fs24 wctomb }{\f188\fs24 
function returns a nonzero or zero value, if multibyte character encodings, respectively, do or do not have state-dependent encodings. If }{\b\f189\fs24 s }{\f188\fs24 is not a null pointer, the }{\b\f189\fs24 wctomb }{\f188\fs24 function returns \'ad
1 if the value of }{\b\f189\fs24 wchar }{\f188\fs24 does not correspond to a valid multibyte character, or returns the number of bytes that are contained in the multibyte character corresponding to the value of }{\b\f189\fs24 wchar}{\f188\fs24 .
\par }\pard \widctlpar {\f188\fs24 In no case will the value returned be greater than the value of the }{\b\f189\fs24 MB_CUR_MAX }{\f188\fs24 macro.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669973}write{\*\bkmkend _Toc439669973}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int write(int handle,const void *buffer,unsigned int count);
\par }{\b\f190\fs24 Description
\par }\pard \qj\widctlpar {\f188\fs24 The }{\b\f189\fs24 write }{\f188\fs24 function writes }{\i\f188\fs24 count}{\f188\fs24  bytes from the buffer }{\i\f188\fs24 buffer}{\f188\fs24  into the file associated with the handle }{\i\f188\fs24 handle}{\f188\fs24 
. After the operation, the file pointer is moved by the corresponding amount.
\par }\pard \qj\widctlpar {\f188\fs24 When writing in text mode, this function treats the character Ctrl-Z (26) as an EOF indicator. This is a behaviour herited from the CP/M operating system back in the beginning of the micro-computer age.
\par }\pard \widctlpar {\f188\fs24 
\par }{\b\f190\fs24 Returns
\par }\pard \qj\widctlpar {\f190\fs24 The number of bytes actually written. If this is less than count, this means there is no more space in the device for more data.
\par }\pard \widctlpar {\b\f190\fs24 Portability\~:}{\f190\fs24 
\par Wide, almost universal. The MSDOS features are obviously non-portable.
\par }\pard\plain \s2\sb240\sa60\keepn\widctlpar \b\i\f5\lang1036 {\f188 \page }{\*\bkmkstart _Toc439669974}wtoi wtol{\*\bkmkend _Toc439669974}
\par \pard\plain \widctlpar \f4\fs20\lang1036 {\b\f190\fs24 Synopsis
\par }{\b\f189\fs24 #include <io.h>
\par int wtoi(const wchar_t *string);
\par }{\b\f190\fs24 Description
\par }\pard \qj\sa120\widctlpar {\fs24 The }{\b\fs24 _wtoi}{\fs24  function converts a wide-character string to an integer value. }{\b\fs24 _wtol}{\fs24 
 converts a wide-character string to a long integer value. The input string is a sequence of characters that can be interpreted as a numerical value of the specified type. The output value is affected by the setting of the }{\b\fs24 LC_NUMERIC}{\fs24 
 category of the current locale..The function stops reading the input string at the first character that it cannot recognize as part of a number. 
\par }\pard \widctlpar {\b\f188\fs24 Returns\~:
\par }\pard \qj\sa120\widctlpar {\fs24 Each function returns the }{\b\fs24 int}{\fs24  or }{\b\fs24 long}{\fs24  value produced by interpreting the input characters as a number. If the input cannot be converted to a value of the appropriate type, }{\b\fs24 
_wtoi}{\fs24  returns 0 and }{\b\fs24 _wtol}{\fs24  returns 0L. The return value is undefined in case of overflow.
\par }\pard \widctlpar {\f188\fs24 
\par }\pard \widctlpar {\f188\fs24 \page }{\f11 
\par }\pard \ri240\sl-220\slmult0\widctlpar {\b\fs24 
\par INDEX
\par 
\par }\pard\plain \s16\sb120\widctlpar\tqr\tx9072 \b\f4\fs20\lang1036 {\field\fldedit{\*\fldinst {\b0\i\fs24  TOC \\o "1-3" }}{\fldrslt {\lang1024 abs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669758  }{\field{\*\fldinst {\lang1024  PAGEREF 
_Toc439669758 }}{\fldrslt {\lang1024 1}}}}}{\lang1024 
\par access\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669759  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669759 }}{\fldrslt {\lang1024 2}}}}}{\lang1024 
\par acos\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669760  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669760 }}{\fldrslt {\lang1024 3}}}}}{\lang1024 
\par asctime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669761  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669761 }}{\fldrslt {\lang1024 4}}}}}{\lang1024 
\par asin\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669762  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669762 }}{\fldrslt {\lang1024 5}}}}}{\lang1024 
\par assert\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669763  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669763 }}{\fldrslt {\lang1024 6}}}}}{\lang1024 
\par atexit\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669764  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669764 }}{\fldrslt {\lang1024 7}}}}}{\lang1024 
\par atof\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669765  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669765 }}{\fldrslt {\lang1024 8}}}}}{\lang1024 
\par atoi\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669766  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669766 }}{\fldrslt {\lang1024 9}}}}}{\lang1024 
\par atol\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669767  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669767 }}{\fldrslt {\lang1024 10}}}}}{\lang1024 
\par beginthread\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669768  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669768 }}{\fldrslt {\lang1024 11}}}}}{\lang1024 
\par bsearch\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669769  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669769 }}{\fldrslt {\lang1024 12}}}}}{\lang1024 
\par cabs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669770  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669770 }}{\fldrslt {\lang1024 13}}}}}{\lang1024 
\par calloc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669771  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669771 }}{\fldrslt {\lang1024 14}}}}}{\lang1024 
\par ceil\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669772  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669772 }}{\fldrslt {\lang1024 15}}}}}{\lang1024 
\par chdir\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669773  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669773 }}{\fldrslt {\lang1024 16}}}}}{\lang1024 
\par clearerr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669774  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669774 }}{\fldrslt {\lang1024 17}}}}}{\lang1024 
\par clock\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669775  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669775 }}{\fldrslt {\lang1024 18}}}}}{\lang1024 
\par copysign\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669776  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669776 }}{\fldrslt {\lang1024 19}}}}}{\lang1024 
\par cos\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669777  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669777 }}{\fldrslt {\lang1024 20}}}}}{\lang1024 
\par cosh\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669778  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669778 }}{\fldrslt {\lang1024 21}}}}}{\lang1024 
\par cputs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669779  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669779 }}{\fldrslt {\lang1024 22}}}}}{\lang1024 
\par ctime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669780  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669780 }}{\fldrslt {\lang1024 23}}}}}{\lang1024 
\par cwait\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669781  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669781 }}{\fldrslt {\lang1024 24}}}}}{\lang1024 
\par difftime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669782  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669782 }}{\fldrslt {\lang1024 25}}}}}{\lang1024 
\par div\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669783  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669783 }}{\fldrslt {\lang1024 26}}}}}{\lang1024 
\par dup  dup2\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669784  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669784 }}{\fldrslt {\lang1024 27}}}}}{\lang1024 
\par ecvt\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669785  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669785 }}{\fldrslt {\lang1024 28}}}}}{\lang1024 
\par endthread\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669786  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669786 }}{\fldrslt {\lang1024 29}}}}}{\lang1024 
\par eof\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669787  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669787 }}{\fldrslt {\lang1024 30}}}}}{\lang1024 
\par errno\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669788  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669788 }}{\fldrslt {\lang1024 31}}}}}{\lang1024 
\par exit\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669789  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669789 }}{\fldrslt {\lang1024 32}}}}}{\lang1024 
\par exp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669790  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669790 }}{\fldrslt {\lang1024 33}}}}}{\lang1024 
\par expand\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669791  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669791 }}{\fldrslt {\lang1024 34}}}}}{\lang1024 
\par fabs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669792  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669792 }}{\fldrslt {\lang1024 35}}}}}{\lang1024 
\par fclose\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669793  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669793 }}{\fldrslt {\lang1024 36}}}}}{\lang1024 
\par feof\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669794  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669794 }}{\fldrslt {\lang1024 37}}}}}{\lang1024 
\par ferror\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669795  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669795 }}{\fldrslt {\lang1024 38}}}}}{\lang1024 
\par fflush\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669796  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669796 }}{\fldrslt {\lang1024 39}}}}}{\lang1024 
\par fgetc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669797  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669797 }}{\fldrslt {\lang1024 40}}}}}{\lang1024 
\par fgetpos\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669798  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669798 }}{\fldrslt {\lang1024 41}}}}}{\lang1024 
\par fgets\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669799  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669799 }}{\fldrslt {\lang1024 42}}}}}{\lang1024 
\par findclose\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669800  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669800 }}{\fldrslt {\lang1024 43}}}}}{\lang1024 
\par findfirst\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669801  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669801 }}{\fldrslt {\lang1024 44}}}}}{\lang1024 
\par findnext\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669802  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669802 }}{\fldrslt {\lang1024 45}}}}}{\lang1024 
\par fmod\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669803  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669803 }}{\fldrslt {\lang1024 46}}}}}{\lang1024 
\par floor\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669804  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669804 }}{\fldrslt {\lang1024 47}}}}}{\lang1024 
\par fopen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669805  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669805 }}{\fldrslt {\lang1024 48}}}}}{\lang1024 
\par _fpclass\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669806  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669806 }}{\fldrslt {\lang1024 50}}}}}{\lang1024 
\par _fpreset\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669807  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669807 }}{\fldrslt {\lang1024 51}}}}}{\lang1024 
\par fprintf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669808  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669808 }}{\fldrslt {\lang1024 52}}}}}{\lang1024 
\par fputc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669809  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669809 }}{\fldrslt {\lang1024 58}}}}}{\lang1024 
\par fputs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669810  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669810 }}{\fldrslt {\lang1024 59}}}}}{\lang1024 
\par fread\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669811  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669811 }}{\fldrslt {\lang1024 60}}}}}{\lang1024 
\par free\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669812  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669812 }}{\fldrslt {\lang1024 61}}}}}{\lang1024 
\par freopen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669813  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669813 }}{\fldrslt {\lang1024 62}}}}}{\lang1024 
\par frexp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669814  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669814 }}{\fldrslt {\lang1024 63}}}}}{\lang1024 
\par fscanf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669815  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669815 }}{\fldrslt {\lang1024 64}}}}}{\lang1024 
\par fseek\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669816  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669816 }}{\fldrslt {\lang1024 66}}}}}{\lang1024 
\par fsetpos\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669817  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669817 }}{\fldrslt {\lang1024 67}}}}}{\lang1024 
\par fscanf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669818  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669818 }}{\fldrslt {\lang1024 68}}}}}{\lang1024 
\par _fsopen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669819  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669819 }}{\fldrslt {\lang1024 69}}}}}{\lang1024 
\par _fstat\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669820  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669820 }}{\fldrslt {\lang1024 70}}}}}{\lang1024 
\par ftell\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669821  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669821 }}{\fldrslt {\lang1024 71}}}}}{\lang1024 
\par _ftime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669822  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669822 }}{\fldrslt {\lang1024 72}}}}}{\lang1024 
\par fwrite\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669823  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669823 }}{\fldrslt {\lang1024 73}}}}}{\lang1024 
\par gcvt\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669824  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669824 }}{\fldrslt {\lang1024 74}}}}}{\lang1024 
\par getc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669825  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669825 }}{\fldrslt {\lang1024 75}}}}}{\lang1024 
\par getchar\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669826  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669826 }}{\fldrslt {\lang1024 76}}}}}{\lang1024 
\par getcwd\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669827  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669827 }}{\fldrslt {\lang1024 77}}}}}{\lang1024 
\par getdcwd\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669828  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669828 }}{\fldrslt {\lang1024 78}}}}}{\lang1024 
\par getdrive\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669829  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669829 }}{\fldrslt {\lang1024 79}}}}}{\lang1024 
\par getpid\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669830  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669830 }}{\fldrslt {\lang1024 80}}}}}{\lang1024 
\par getenv\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669831  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669831 }}{\fldrslt {\lang1024 81}}}}}{\lang1024 
\par gets\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669832  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669832 }}{\fldrslt {\lang1024 82}}}}}{\lang1024 
\par gmtime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669833  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669833 }}{\fldrslt {\lang1024 83}}}}}{\lang1024 
\par heapchk\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669834  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669834 }}{\fldrslt {\lang1024 84}}}}}{\lang1024 
\par heapmin\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669835  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669835 }}{\fldrslt {\lang1024 85}}}}}{\lang1024 
\par heapset\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669836  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669836 }}{\fldrslt {\lang1024 86}}}}}{\lang1024 
\par hypot\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669837  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669837 }}{\fldrslt {\lang1024 87}}}}}{\lang1024 
\par isalnum iswalnum\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669838  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669838 }}{\fldrslt {\lang1024 88}}}}}{\lang1024 
\par isalpha\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669839  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669839 }}{\fldrslt {\lang1024 89}}}}}{\lang1024 
\par isatty\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669840  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669840 }}{\fldrslt {\lang1024 90}}}}}{\lang1024 
\par iscntrl\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669841  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669841 }}{\fldrslt {\lang1024 91}}}}}{\lang1024 
\par isdigit\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669842  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669842 }}{\fldrslt {\lang1024 92}}}}}{\lang1024 
\par isgraph\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669843  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669843 }}{\fldrslt {\lang1024 93}}}}}{\lang1024 
\par islower\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669844  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669844 }}{\fldrslt {\lang1024 94}}}}}{\lang1024 
\par iso646.h\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669845  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669845 }}{\fldrslt {\lang1024 95}}}}}{\lang1024 
\par isprint\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669846  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669846 }}{\fldrslt {\lang1024 96}}}}}{\lang1024 
\par ispunct\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669847  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669847 }}{\fldrslt {\lang1024 97}}}}}{\lang1024 
\par isspace\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669848  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669848 }}{\fldrslt {\lang1024 98}}}}}{\lang1024 
\par isupper\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669849  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669849 }}{\fldrslt {\lang1024 99}}}}}{\lang1024 
\par itoa\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669850  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669850 }}{\fldrslt {\lang1024 100}}}}}{\lang1024 
\par _j0,_ j1,_ jn\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669851  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669851 }}{\fldrslt {\lang1024 101}}}}}{\lang1024 
\par isxdigit\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669852  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669852 }}{\fldrslt {\lang1024 102}}}}}{\lang1024 
\par _kbhit\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669853  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669853 }}{\fldrslt {\lang1024 103}}}}}{\lang1024 
\par ldexp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669854  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669854 }}{\fldrslt {\lang1024 104}}}}}{\lang1024 
\par localeconv\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669855  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669855 }}{\fldrslt {\lang1024 105}}}}}{\lang1024 
\par localtime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669856  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669856 }}{\fldrslt {\lang1024 108}}}}}{\lang1024 
\par log\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669857  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669857 }}{\fldrslt {\lang1024 109}}}}}{\lang1024 
\par log10\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669858  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669858 }}{\fldrslt {\lang1024 110}}}}}{\lang1024 
\par longjmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669859  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669859 }}{\fldrslt {\lang1024 111}}}}}{\lang1024 
\par malloc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669860  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669860 }}{\fldrslt {\lang1024 112}}}}}{\lang1024 
\par makepath\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669861  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669861 }}{\fldrslt {\lang1024 113}}}}}{\lang1024 
\par _mbbtombc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669862  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669862 }}{\fldrslt {\lang1024 114}}}}}{\lang1024 
\par _mbbtype\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669863  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669863 }}{\fldrslt {\lang1024 115}}}}}{\lang1024 
\par _mbccpy\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669864  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669864 }}{\fldrslt {\lang1024 116}}}}}{\lang1024 
\par mblen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669865  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669865 }}{\fldrslt {\lang1024 117}}}}}{\lang1024 
\par mbstowcs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669866  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669866 }}{\fldrslt {\lang1024 118}}}}}{\lang1024 
\par mbtowc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669867  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669867 }}{\fldrslt {\lang1024 119}}}}}{\lang1024 
\par memchr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669868  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669868 }}{\fldrslt {\lang1024 120}}}}}{\lang1024 
\par memcmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669869  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669869 }}{\fldrslt {\lang1024 121}}}}}{\lang1024 
\par memcpy\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669870  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669870 }}{\fldrslt {\lang1024 122}}}}}{\lang1024 
\par memmove\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669871  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669871 }}{\fldrslt {\lang1024 123}}}}}{\lang1024 
\par memset\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669872  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669872 }}{\fldrslt {\lang1024 124}}}}}{\lang1024 
\par modf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669873  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669873 }}{\fldrslt {\lang1024 125}}}}}{\lang1024 
\par mktime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669874  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669874 }}{\fldrslt {\lang1024 126}}}}}{\lang1024 
\par modf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669875  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669875 }}{\fldrslt {\lang1024 127}}}}}{\lang1024 
\par _open\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669876  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669876 }}{\fldrslt {\lang1024 128}}}}}{\lang1024 
\par _open_osfhandle\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669877  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669877 }}{\fldrslt {\lang1024 130}}}}}{\lang1024 
\par _pclose\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669878  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669878 }}{\fldrslt {\lang1024 131}}}}}{\lang1024 
\par perror\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669879  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669879 }}{\fldrslt {\lang1024 132}}}}}{\lang1024 
\par _pipe\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669880  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669880 }}{\fldrslt {\lang1024 133}}}}}{\lang1024 
\par _popen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669881  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669881 }}{\fldrslt {\lang1024 134}}}}}{\lang1024 
\par pow\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669882  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669882 }}{\fldrslt {\lang1024 135}}}}}{\lang1024 
\par printf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669883  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669883 }}{\fldrslt {\lang1024 136}}}}}{\lang1024 
\par putc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669884  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669884 }}{\fldrslt {\lang1024 137}}}}}{\lang1024 
\par putchar\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669885  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669885 }}{\fldrslt {\lang1024 138}}}}}{\lang1024 
\par putenv\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669886  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669886 }}{\fldrslt {\lang1024 139}}}}}{\lang1024 
\par puts\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669887  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669887 }}{\fldrslt {\lang1024 140}}}}}{\lang1024 
\par qsort\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669888  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669888 }}{\fldrslt {\lang1024 141}}}}}{\lang1024 
\par raise\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669889  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669889 }}{\fldrslt {\lang1024 142}}}}}{\lang1024 
\par rand\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669890  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669890 }}{\fldrslt {\lang1024 143}}}}}{\lang1024 
\par realloc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669891  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669891 }}{\fldrslt {\lang1024 144}}}}}{\lang1024 
\par remove\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669892  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669892 }}{\fldrslt {\lang1024 145}}}}}{\lang1024 
\par rename\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669893  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669893 }}{\fldrslt {\lang1024 146}}}}}{\lang1024 
\par rewind\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669894  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669894 }}{\fldrslt {\lang1024 147}}}}}{\lang1024 
\par rint\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669895  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669895 }}{\fldrslt {\lang1024 148}}}}}{\lang1024 
\par rmdir\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669896  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669896 }}{\fldrslt {\lang1024 149}}}}}{\lang1024 
\par _rmtmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669897  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669897 }}{\fldrslt {\lang1024 150}}}}}{\lang1024 
\par _rotl\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669898  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669898 }}{\fldrslt {\lang1024 151}}}}}{\lang1024 
\par _rotr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669899  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669899 }}{\fldrslt {\lang1024 152}}}}}{\lang1024 
\par scanf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669900  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669900 }}{\fldrslt {\lang1024 153}}}}}{\lang1024 
\par _searchenv\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669901  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669901 }}{\fldrslt {\lang1024 154}}}}}{\lang1024 
\par setbuf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669902  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669902 }}{\fldrslt {\lang1024 155}}}}}{\lang1024 
\par setmode\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669903  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669903 }}{\fldrslt {\lang1024 156}}}}}{\lang1024 
\par setjmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669904  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669904 }}{\fldrslt {\lang1024 157}}}}}{\lang1024 
\par setlocale\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669905  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669905 }}{\fldrslt {\lang1024 158}}}}}{\lang1024 
\par setvbuf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669906  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669906 }}{\fldrslt {\lang1024 161}}}}}{\lang1024 
\par signal\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669907  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669907 }}{\fldrslt {\lang1024 162}}}}}{\lang1024 
\par sin\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669908  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669908 }}{\fldrslt {\lang1024 164}}}}}{\lang1024 
\par sinh\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669909  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669909 }}{\fldrslt {\lang1024 165}}}}}{\lang1024 
\par sprintf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669910  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669910 }}{\fldrslt {\lang1024 166}}}}}{\lang1024 
\par sqrt\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669911  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669911 }}{\fldrslt {\lang1024 167}}}}}{\lang1024 
\par srand\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669912  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669912 }}{\fldrslt {\lang1024 168}}}}}{\lang1024 
\par sscanf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669913  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669913 }}{\fldrslt {\lang1024 169}}}}}{\lang1024 
\par strchr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669914  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669914 }}{\fldrslt {\lang1024 170}}}}}{\lang1024 
\par strcmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669915  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669915 }}{\fldrslt {\lang1024 171}}}}}{\lang1024 
\par strcmpi , stricmp , _strcmpi , _stricmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669916  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669916 }}{\fldrslt {\lang1024 172}}}}}{\lang1024 
\par strcoll\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669917  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669917 }}{\fldrslt {\lang1024 173}}}}}{\lang1024 
\par strcpy\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669918  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669918 }}{\fldrslt {\lang1024 174}}}}}{\lang1024 
\par strcspn\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669919  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669919 }}{\fldrslt {\lang1024 175}}}}}{\lang1024 
\par _strdate\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669920  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669920 }}{\fldrslt {\lang1024 176}}}}}{\lang1024 
\par strftime\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669921  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669921 }}{\fldrslt {\lang1024 177}}}}}{\lang1024 
\par strlen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669922  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669922 }}{\fldrslt {\lang1024 181}}}}}{\lang1024 
\par strlwr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669923  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669923 }}{\fldrslt {\lang1024 182}}}}}{\lang1024 
\par strncat\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669924  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669924 }}{\fldrslt {\lang1024 183}}}}}{\lang1024 
\par strncmp , strnicmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669925  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669925 }}{\fldrslt {\lang1024 184}}}}}{\lang1024 
\par strncpy\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669926  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669926 }}{\fldrslt {\lang1024 185}}}}}{\lang1024 
\par strpbrk\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669927  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669927 }}{\fldrslt {\lang1024 186}}}}}{\lang1024 
\par strrchr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669928  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669928 }}{\fldrslt {\lang1024 187}}}}}{\lang1024 
\par strspn\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669929  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669929 }}{\fldrslt {\lang1024 188}}}}}{\lang1024 
\par strstr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669930  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669930 }}{\fldrslt {\lang1024 189}}}}}{\lang1024 
\par strtod\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669931  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669931 }}{\fldrslt {\lang1024 190}}}}}{\lang1024 
\par strtok\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669932  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669932 }}{\fldrslt {\lang1024 192}}}}}{\lang1024 
\par strtol,  strtoul\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669933  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669933 }}{\fldrslt {\lang1024 193}}}}}{\lang1024 
\par strxfrm\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669934  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669934 }}{\fldrslt {\lang1024 195}}}}}{\lang1024 
\par _sopen , _wsopen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669935  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669935 }}{\fldrslt {\lang1024 196}}}}}{\lang1024 
\par spawn , wspawnl\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669936  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669936 }}{\fldrslt {\lang1024 197}}}}}{\lang1024 
\par _splitpath\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669937  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669937 }}{\fldrslt {\lang1024 198}}}}}{\lang1024 
\par _stat\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669938  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669938 }}{\fldrslt {\lang1024 199}}}}}{\lang1024 
\par _statusfp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669939  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669939 }}{\fldrslt {\lang1024 200}}}}}{\lang1024 
\par system\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669940  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669940 }}{\fldrslt {\lang1024 201}}}}}{\lang1024 
\par tan\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669941  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669941 }}{\fldrslt {\lang1024 202}}}}}{\lang1024 
\par tanh\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669942  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669942 }}{\fldrslt {\lang1024 203}}}}}{\lang1024 
\par _tempnam\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669943  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669943 }}{\fldrslt {\lang1024 204}}}}}{\lang1024 
\par time\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669944  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669944 }}{\fldrslt {\lang1024 205}}}}}{\lang1024 
\par tmpfile\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669945  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669945 }}{\fldrslt {\lang1024 206}}}}}{\lang1024 
\par tmpnam\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669946  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669946 }}{\fldrslt {\lang1024 207}}}}}{\lang1024 
\par tolower\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669947  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669947 }}{\fldrslt {\lang1024 208}}}}}{\lang1024 
\par toupper\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669948  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669948 }}{\fldrslt {\lang1024 209}}}}}{\lang1024 
\par ungetc ungetwc\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669949  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669949 }}{\fldrslt {\lang1024 210}}}}}{\lang1024 
\par va_list\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669950  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669950 }}{\fldrslt {\lang1024 211}}}}}{\lang1024 
\par vfprintf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669951  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669951 }}{\fldrslt {\lang1024 212}}}}}{\lang1024 
\par vprintf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669952  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669952 }}{\fldrslt {\lang1024 213}}}}}{\lang1024 
\par vsprintf vswprintf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669953  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669953 }}{\fldrslt {\lang1024 214}}}}}{\lang1024 
\par vscanf\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669954  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669954 }}{\fldrslt {\lang1024 215}}}}}{\lang1024 
\par wcsncpy\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669955  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669955 }}{\fldrslt {\lang1024 216}}}}}{\lang1024 
\par wcscat\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669956  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669956 }}{\fldrslt {\lang1024 217}}}}}{\lang1024 
\par wcschr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669957  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669957 }}{\fldrslt {\lang1024 218}}}}}{\lang1024 
\par wcscmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669958  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669958 }}{\fldrslt {\lang1024 219}}}}}{\lang1024 
\par wcscoll\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669959  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669959 }}{\fldrslt {\lang1024 220}}}}}{\lang1024 
\par wcscspn\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669960  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669960 }}{\fldrslt {\lang1024 221}}}}}{\lang1024 
\par wcslen\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669961  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669961 }}{\fldrslt {\lang1024 222}}}}}{\lang1024 
\par wcsncat\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669962  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669962 }}{\fldrslt {\lang1024 223}}}}}{\lang1024 
\par wcsncmp\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669963  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669963 }}{\fldrslt {\lang1024 224}}}}}{\lang1024 
\par wcspbrk\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669964  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669964 }}{\fldrslt {\lang1024 225}}}}}{\lang1024 
\par wcsrchr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669965  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669965 }}{\fldrslt {\lang1024 226}}}}}{\lang1024 
\par wcsspn\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669966  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669966 }}{\fldrslt {\lang1024 227}}}}}{\lang1024 
\par wcsstr\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669967  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669967 }}{\fldrslt {\lang1024 228}}}}}{\lang1024 
\par wcstok\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669968  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669968 }}{\fldrslt {\lang1024 229}}}}}{\lang1024 
\par wcstol , wcstoul\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669969  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669969 }}{\fldrslt {\lang1024 230}}}}}{\lang1024 
\par wcstombs\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669970  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669970 }}{\fldrslt {\lang1024 232}}}}}{\lang1024 
\par wcsxfrm\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669971  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669971 }}{\fldrslt {\lang1024 233}}}}}{\lang1024 
\par wctomb\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669972  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669972 }}{\fldrslt {\lang1024 234}}}}}{\lang1024 
\par write\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669973  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669973 }}{\fldrslt {\lang1024 235}}}}}{\lang1024 
\par wtoi wtol\tab }{\field{\*\fldinst {\lang1024  GOTOBUTTON _Toc439669974  }{\field{\*\fldinst {\lang1024  PAGEREF _Toc439669974 }}{\fldrslt {\lang1024 236}}}}}{\lang1024 
\par }\pard \s16\sb120\widctlpar\tqr\tx9072 }}\pard\plain \s16\sb120\widctlpar\tqr\tx9072 \b\f4\fs20\lang1036 
\par }